在计算机中,逻辑运算是对二进制数据进行操作的根底。逻辑运算次要包含以下几种:与(AND)、或(OR)、非(NOT)和异或(XOR)。接下来,咱们将具体介绍这几种逻辑运算的原理及其利用。
与(AND)运算
与运算的规定如下:
- 0 AND 0 = 0
- 0 AND 1 = 0
- 1 AND 0 = 0
- 1 AND 1 = 1
两个二进制数进行与运算时,从最低位开始,对应位都为 1 时,后果为 1,否则为 0。
示例:
1010
AND 1100
------
1000
在 ARM 汇编中,与运算应用 AND
指令实现。例如,将寄存器 R0
和寄存器 R1
的值进行与运算,后果存储在寄存器 R2
中:
AND R2, R0, R1
或(OR)运算
或运算的规定如下:
- 0 OR 0 = 0
- 0 OR 1 = 1
- 1 OR 0 = 1
- 1 OR 1 = 1
两个二进制数进行或运算时,从最低位开始,对应位只有有一个为 1,后果为 1,否则为 0。
示例:
1010
OR 1100
------
1110
在 ARM 汇编中,或运算应用 ORR
指令实现。例如,将寄存器 R0
和寄存器 R1
的值进行或运算,后果存储在寄存器 R2
中:
ORR R2, R0, R1
非(NOT)运算
非运算的规定如下:
- NOT 0 = 1
- NOT 1 = 0
对一个二进制数进行非运算时,只需将其每一位取反(0 变为 1,1 变为 0)。
示例:
NOT 1010
------
0101
在 ARM 汇编中,非运算应用 MVN
指令实现。例如,将寄存器 R0
的值进行非运算,后果存储在寄存器 R1
中:
MVN R1, R0
异或(XOR)运算
异或运算的规定如下:
- 0 XOR 0 = 0
- 0 XOR 1 = 1
- 1 XOR 0 = 1
- 1 XOR 1 = 0
两个二进制数进行异或运算时,从最低位开始,对应位雷同为 0,不同为 1。
示例:
1010
XOR 1100
------
0110
在 ARM 汇编中,异或运算应用 EOR
指令实现。例如,将寄存器 R0
和寄存器 R1
的值进行异或运算,后果存储在寄存器 R2
中:
EOR R2, R0, R1
通过把握逻辑运算的原理及其在 ARM 汇编中的利用,咱们可能更好地了解计算机中根本的数据操作。在后续学习 ARM 汇编的过程中,逻辑运算指令将会被频繁地应用,因而熟练掌握逻辑运算的原理和相干指令至关重要。
举荐浏览:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g