AND指令:与运算

A B C
1 0 0
0 1 0
0 0 0
1 1 1

1、当前汇编指令为and edx,ecx
2、当前ecx寄存器中的地址值为00000000,edx寄存器中的地址值11111111
3、单步步过

可以发现edx的值变为了00000000,原因是edx和ecx进行与运算,结果赋值给了edx寄存器中的地址值
学习:逻辑指令


OR指令:或运算

A B C
1 0 1
0 1 1
0 0 0
1 1 1

1、当前汇编指令为and edx,ecx
2、当前ecx寄存器中的地址值为11111111,edx寄存器中的地址值00000000
3、单步步过

发现结果edx中的地址为11111111,原因是进行了或运算 00000000 00000000 00000000 00000000 和 11111111 11111111 111111111 11111111 或运算结果自然是 11111111 11111111 11111111 11111111
学习:逻辑指令


XOR指令:异或运算

A B C
1 0 1
0 1 1
0 0 0
1 1 0

1、当前汇编指令为xor edx,ecx
2、当前ecx寄存器中的地址值为00000011,edx寄存器中的地址值00000000
3、单步步过

发现edx寄存器中的值也为00000011,原因是00000000 00000000 00000000 00010001 和 00000000 00000000 00000000 00000000

那么xor运算结果为00000000 00000000 00000000 00010001 转换为十六进制同样也就是00000011了

学习:逻辑指令


not指令:取反

A B
1 0
0 1

1、当前汇编指令为not ecx
2、当前ecx寄存器中的地址值为00000011
3、单步步过

结果发现ecx中的值为FFFFFFEE,原因 00000011的二进制为00000000 00000000 00000000 00010001,那么取反的话就是11111111 11111111 11111111 11101110也就是FFFFFFEE

学习:逻辑指令

相关文章:

  • 2021-09-25
  • 2021-05-11
  • 2022-12-23
  • 2021-12-12
  • 2021-11-29
  • 2021-05-27
  • 2021-05-19
  • 2021-09-10
猜你喜欢
  • 2019-06-19
  • 2021-05-19
  • 2021-11-29
  • 2021-12-04
  • 2022-02-04
  • 2022-12-23
  • 2022-02-21
相关资源
相似解决方案