이름 | 유형 | 명령어 | 예시 |
---|---|---|---|
mov | 데이터 이동 | 메모리나 레지스터의 값을 옮길때 사용 | mov eax, ebx |
lea | 데이터 이동 | mov와 다르게 메모리나 레지스터의 유효주소를 이동시킴 | lea eax, ebx |
lnc | 산술 연산 | eax의 값을 1 증가시킨다 (++) | lnc eax |
dec | 산술 연산 | eax의 값을 1 감소시킨다 (--) | dec eax |
add | 산술 연산 | 메모리나 레지스터의 값을 덧셈할때 쓰인다 | add eax, ebx |
sub | 산술 연산 | 메모리나 레지스터의 값을 뺄셈할때 쓰인다 | sub eax, ebx |
cmp | 비교 | 레지스터와 레지스터 값 비교 | cmp eax, ebx |
jmp | 분기 | 특정한 곳으로 분기 | jmp proc |
int | 분기 | OS에 할당된 인터럽트 영역을 system call | int S0x80 |
push | 스택 | eax의 값을 스택에 저장 | push eax |
pop | 스택 | 스택 가장 상위의 값을 꺼내서 eax에 저장 | pop eax |
call | 프로시저 | 프로시저를 호출한다 | call proc |
ret | 반환 | 호출했던 바로 다음 지점으로 이동 | ret |
leave | 스택프레임 | 스택프레임 정리 | leave |
nop | 아무 동작도 하지 않는다. | nop |