call instruction

2018. 5. 27. 09:47

CALL (Call a Procedure)

함수 호출시 사용된다. JMP명령어 같이 프로그램의 실행 흐름이 변경되지만 JMP명령와 다른 점은 되돌아올 리턴 어드레스(CALL 다음 명령)를 스택에 저장한다는 것이다. 되돌아올 주소를 저장하기 떄문에 함수 호출 후 원래 위치로 실행 흐름을 되돌릴 수 있다. 호출한 함수가 일을 다 마치면 원래 위치에서 다시 프로그램이 실행될 수 있음을 의미한다.


call & jmp 명령의 차이

  - call 명령은 함수가 호출되기전 Return adress 인 EIP(다음명령주소)를 Stack 최상단에 넣고 함수를 호출

+ Recent posts