LEA 명령과 MOV 명령의 차이점

LEA(Load Effective Address) 명령은 본질적으로 산술명령이다. 어떤 메모리 주소에 접근하는 작업을 수행하는 것이 아니라 일반적으로 주소를 계산하기 위해서 사용된다.

예를 들어

 ESP : 0x0012FFBC
 0x0040205E : “HELLO”
인 경우에
 mov EBP,ESP
 push 0040205E
 mov EAX,[EBP-4]
 lea EBX,[EBP-4]
위 명령을 실행할 경우
 EAX : 0040205E
 EBX : 0012FFB8
의 값을 가지게 된다.

즉, EAX는 EBP-4가 가리키는 주소가 가지고 있는 0040205E 값이 저장되어 문자열 “HELLO”의 시작 주소가 저장되고 EBX는 EBP-4 값 그 자체인 0012FFB8 값이 저장된다

댓글 남기기

바로가기