어셈블리어와 악성코드

어셈블리어 명령어 [ADD, SUB]

YaluStar 2018. 11. 17. 04:00

어셈블리어 명령어 [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에 대하여 알아보았습니다.

감사합니다.


반응형