프로그래밍언어/리버싱 입문
어셈블리 산술명령어 (add, sub)
Great king
2019. 4. 14. 16:44
# ADD와 SUB명령어
add
- 두 레지스터의 내용을 더하거나, 레지스터와 메모리 변수의 내용을 더하는데 사용되는 명령어
- 메모리 변수 사이의 직접적인 ADD 명령 실행은 불가능하다.
형식] add 목적지 근원지
ex) add, ax, bx ; ax와 bx의 내용을 더해 ax에 저장
add, wrd, cx ;wrd와 cx의 내용을 더해 wrd에 저장
add, cl, 10 ;cl의 내용에 10을 더해서 cl에 저장
근원지 오퍼랜드 |
목적지 오퍼랜드 (add, sub) | |
일반레지스터 | 메모리 변수 | |
일반 레지스터 | 가능 | 가능 |
메모리 변수 | 불가능 | |
상수 | 가능 |
sub
- 두 레지스터의 내용을 서로 빼거나, 레지스터와 메모리 변수의 내용을 서로 빼는데 사용되는 명령어
- 메모리 변수 사이의 직접적인 sub 명령 실행은 불가능하다.
형식] sub 목적지 근원지
ex) sub, rbx, rdx ;rbx에서 rdx의 내용을 빼서 rbx에 저장
sub, byt, cl ;byt에서 cl의 내용을 빼서 byt에 저장
sub, rax, ,-150 ;rax의 내용에서 -150을 빼서 rax에 저장