一、AND指令
逻辑与运算,二进制位都为1时,才为1,否则为0,置eax为5,置ebx为6,运行下面指令,结果会赋值给eax
5二进制:0101
6二进制:0110
与结果是 0100,十进制是4
and eax, ebx
二、OR指令
逻辑或运算,二进制位都为0时,才为0,否则为1,置eax为5,置ebx为6,运行下面指令,结果会赋值给eax
5二进制:0101
6二进制:0110
结果是 0111,十进制是7
or eax, ebx
三、XOR指令
逻辑异或运算,二进制位相同0,不同为1,置eax为5,置ebx为6,运行下面指令,结果会赋值给eax
5二进制:0101
6二进制:0110
结果是 0011,十进制是3
xor eax, ebx
四、NOT指令
逻辑取反运算,二进制位0变为1,1变为0,置eax为5,运行下面指令,结果会赋值给eax
理论是
5二进制:0101 取反结果:1010
实际取反运算
5二进制:0000 0000 0000 0000 0000 0000 0000 0101 取反结果:1111 1111 1111 1111 1111 1111 1111 1010 十进制-6 所以最后取反结果需要+1操作
not eax