XOR运算
按位异或^
一、按位异或^
运算符^
1^1=0;0^0=0; //相同则为0
0^1=1;1^0=1; //不相同为1
1101^0110=1011;
// asm_XOR.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
unsigned char i,j,k;
i=0x33;//00110011
j=0x7A;//01111010
//01001001
k=i^j;// k=i异或j
return 0;
//00401000 /$ 55 PUSH EBP
//00401001 |. 8BEC MOV EBP,ESP
//00401003 |. 51 PUSH ECX
//00401004 |. C645 FF 33 MOV BYTE PTR SS:[EBP-1],33 ; 00110011
//00401008 |. C645 FD 7A MOV BYTE PTR SS:[EBP-3],7A ; 01111010
//0040100C |. 0FB645 FF MOVZX EAX,BYTE PTR SS:[EBP-1] ; 01001001
//00401010 |. 0FB64D FD MOVZX ECX,BYTE PTR SS:[EBP-3]
//00401014 |. 33C1 XOR EAX,ECX ; eax=i^j
//00401016 |. 8845 FE MOV BYTE PTR SS:[EBP-2],AL
//00401019 |. 33C0 XOR EAX,EAX
//0040101B |. 8BE5 MOV ESP,EBP
//0040101D |. 5D POP EBP
//0040101E \. C3 RETN
}