어셈블리어 명령어 [ADD, SUB]
어셈블리어에서 사용하는 명령어 중 ADD, SUB에 대하여 알아보겠습니다.
ADD (Add)
Destination에 Source 값을 빼서 Destination에 저장하는 명령어이다.
연산 결과에 따라 ZF, OF, CF가 세트 될 수 있다.
ZF와 OF, CF(Carry Flag)는 나중에 확인하겠습니다.
사용할 수 있는 양식
ADD Dest, Src
ADD reg, imm
ADD reg, reg
ADD mem, reg
ADD mem, imm
ADD reg, mem
실습 환경
VMware Workstation 15 Player (FREE 버전)
Windows XP Professional SP3 (32Bit)
CMD창을 열어 debug 명령어를 입력합니다.
-a 100
MOV AX, 102
ADD AX, AX
처음 AX=0000입니다.
다음 명령어인 MOV AX, 102을 실행하여 AX=0102가 됩니다.
이어서 ADD AX, AX 명령어가 실행됩니다.
AX=0204가 되었습니다.
SUB (Subtract)
Destination에 Source 값을 빼서 Destination에 저장하는 명령어이다.
연산 결과에 따라 ZF, OF, CF가 세트 될 수 있다.
ZF와 OF, CF(Carry Flag)는 나중에 확인하겠습니다.
사용할 수 있는 양식은 ADD와 같습니다.
SUB Dest, Src
SUB reg, imm
SUB reg, reg
SUB mem, reg
SUB mem, imm
SUB reg, mem
실습 환경
VMware Workstation 15 Player (FREE 버전)
Windows XP Professional SP3 (32Bit)
CMD창을 열어 debug 명령어를 입력합니다.
-a 100
MOV AX, 204
SUB AX, AX
초기 AX=0000입니다.
MOV AX, 0204 명령어가 실행되어 AX=0204로 바뀌었습니다.
SUB AX, AX 명령어를 사용하면 AX - AX한 값을 AX에 저장합니다.
결국 AX=0000으로 됩니다.
이상으로 어셈블리어 명령어 ADD, SUB에 대하여 알아보았습니다.
감사합니다.
'어셈블리어와 악성코드' 카테고리의 다른 글
어셈블리어 명령어 [MUL, DIV] (1) | 2018.11.18 |
---|---|
어셈블리어 명령어 [CMP, JMP, CALL] (0) | 2018.11.18 |
어셈블리어 명렁어 [MOV, INC, DEC] (0) | 2018.11.16 |
어셈블리어 기초 (0) | 2018.11.15 |
랜섬웨어(Ransomware) (0) | 2018.11.13 |