본문 바로가기

기타 언어/Assembly2

rep stos 명령어 개인적으로 학습하는 내용이라 틀린 내용이 있을 수 있습니다. Visual studio에서 디버깅을 하다가 디스어셈블 뷰를 보면서 함수 호출 과정을 따라가다 보면 항상 rep stos라는 명령어 단계에서 무언가 여러 번 반복되는 과정이 있었다. 그냥 모른 채로 넘어갔는데 알아야 할 것 같아서 정리해본다. [rep] 우선 rep라는 명령어는 반복에 관한 명령어인데 repeat의 준말인 것 같다. 다음은 MSDN에 나와있는 REP 명령어에 대한 설명이다. The instruction can be prefixed by REP to repeat the operation the number of times specified by the ecx register. The rep mov instruction is use.. 2020. 4. 5.
mov와 lea 명령어 / call by value, call by reference, call by address 쉽게 이해하기 MOV EAX, EBP LEA EDX, EBP mov (move) 명령어는 좌변에 우변(상수 가능)의 값을 복사합니다. lea (load effective address) 명령어는 좌변(레지스터)에 우변의 주소값을 저장합니다. 사용 예시) mov eax, ecx 라는 명령은 ecx 레지스터에 저장된 값을 eax 레지스터에 복사한다는 의미입니다. mov eax, [adr] 라는 명령은 adr 주소가 가리키는 값을 eax 레지스터에 저장한다는 의미입니다. mov eax, dword ptr [num] 라는 명령은 num의 주소가 가리키는 4바이트(dword) 값이 eax에 저장된다는 의미입니다. mov dword ptr [num], 12345 지역변수 num에 12345라는 상수 값을 복사(저장)합니다. mo.. 2019. 12. 5.