어셈블리어 명령어 [XOR]
XOR 명령어를 사용하면 temp 변수를 사용하지 않고 AX와 BX에 저장되어 있는 값을 바꿀 수 있습니다.
실습 환경
VMware Workstation 15 Player (FREE 버전)
Windows XP Professional SP3 (32Bit)
먼저 다음과 같이 입력합니다.
-a 100
MOV AX, 1234
MOV BX, 5678
XOR AX, BX
XOR BX, AX
XOR AX, BX
우선 MOV 명령어를 이용하여 AX=1234, BX=5678의 값을 입력합니다.
그리고 첫 번째 XOR AX, BX을 통하여 AX와 BX의 XOR한 결과 값을 AX에 저장합니다.
AX=444C 값이 저장됩니다.
2 번째 XOR BX, AX을 진행하여 BX와 AX의 XOR 결과 값을 BX에 저장합니다.
BX=1234 값이 저장됩니다.
마지막 XOR AX, BX을 진행하면 AX와 BX의 XOR 결과 값이 AX에 저장이 됩니다.
AX=5678 값이 저장됩니다.
처음 AX=1234, BX=5678 이였지만, 3번의 XOR 명령어를 이용하여 AX=5678, BX=1234로 가지고 있던 서로의 값을 바꾸는 방법을 사용할 수 있습니다.
이상으로 어셈블리어 명령어 XOR을 이용하여 값을 바꾸는 방법에 대하여 알아보았습니다.
감사합니다.
반응형
'어셈블리어와 악성코드' 카테고리의 다른 글
스택(Stack), PUSH, POP (0) | 2018.11.20 |
---|---|
어셈블리어 명령어 [SHL, SHR]과 Flag (0) | 2018.11.19 |
어셈블리어 명령어 [AND, OR, XOR] (0) | 2018.11.19 |
어셈블리어 명령어 [MUL, DIV] (1) | 2018.11.18 |
어셈블리어 명령어 [CMP, JMP, CALL] (0) | 2018.11.18 |