经典汇编语言教程:5.2.4 逻辑运算指令
3035 点击·0 回帖
![]() | ![]() | |||||||||
![]() | 逻辑运算指令是另一组重要的指令,它包括:逻辑与(AND)、逻辑或(OR)、逻辑非(NOT)和异或指令(XOR),逻辑运算指令也是经常使用的指令。 1、逻辑与操作指令AND(LogicalAND Instruction) 指令的格式:AND Reg/Mem, Reg/Mem/Imm 受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义) 指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑“与操作”,操作结果存入目标操作数中。 例5.6 已知(BH)=67H,要求把其的第0、1和5位置为0。
2、逻辑或操作指令OR(LogicalOR Instruction) 指令的格式:OR Reg/Mem, Reg/Mem/Imm 受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义) 指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑"或操作",操作结果存入目标操作数中。 例5.7 已知(BL)=46H,要求把其的第1、3、4和6位置为1。
3、逻辑非操作指令NOT(LogicalNOT Instruction) 指令的格式:NOT Reg/Mem 其功能是把操作数中的每位变反,即:1←0,0←1。指令的执行不影响任何标志位。 例5.8 已知(AL)=46H,执行指令“NOT AL”后,AL的值是什么?
4、逻辑异或操作指令XOR(ExclusiveOR Instruction) 指令的格式:XOR Reg/Mem, Reg/Mem/Imm 受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义) 指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑"异或操作",操作结果存入目标操作数中。 例5.9 已知(AH)=46H,要求把其的第0、2、5和7位的二进制值变反。
5、逻辑操作指令的小结 下面是学习和掌握逻辑类指令的控件,可模拟执行AND、OR、NOT和XOR等指令。 | |||||||||
![]() | ![]() |