专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »汇编语言 » 逻辑运算:汇编逻辑运算指令 »正文

逻辑运算:汇编逻辑运算指令

来源: 发布时间:星期三, 2008年12月10日 浏览:12次 评论:0

逻辑运算指令是另一组重要的指令,它包括:逻辑与(AND)、逻辑或(OR)、逻辑非(NOT)和异或指令(XOR),逻辑运算指令也是经常使用的指令。
1、逻辑与操作指令AND(LogicalANDInstruction)
指令的格式:AND Reg/Mem,Reg/Mem/Imm
受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑“与操作”,操作结果存入目标操作数中。
例5.6已知(BH)=67H,要求把其的第0、1和5位置为0。
解:可以构造一个立即数,其第0、1和5位的值为0,其它位的值为1,该立即数即为:0DCH或11011100B,然后用指令\"ANDBH,0DCH\"来实现此功能。
其计算过程如右图所示。

2、逻辑或操作指令OR(LogicalORInstruction)
指令的格式:OR Reg/Mem,Reg/Mem/Imm
受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑\"或操作\",操作结果存入目标操作数中。
例5.7已知(BL)=46H,要求把其的第1、3、4和6位置为1。
解:构造一个立即数,使其第1、3、4和6位的值为1,其它位的值为0,该立即数即为:5AH或01011010B,然后用指令\"ORBL,5AH\"来实现此功能。
其计算过程如右图所示。

3、逻辑非操作指令NOT(LogicalNOTInstruction)
指令的格式:NOT Reg/Mem
其功能是把操作数中的每位变反,即:1←0,0←1。指令的执行不影响任何标志位。
例5.8已知(AL)=46H,执行指令“NOT AL”后,AL的值是什么?
解:执行该指令后,(AL)=0B9H。其计算过程如下所示。

4、逻辑异或操作指令XOR(ExclusiveORInstruction)
指令的格式:XOR Reg/Mem,Reg/Mem/Imm
受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑\"异或操作\",操作结果存入目标操作数中。
例5.9已知(AH)=46H,要求把其的第0、2、5和7位的二进制值变反。
解:构造一个立即数,使其第0、2、5和7位的值为1,其它位的值为0,该立即数即为:0A5H或10100101B,然后再用指令\"XORAH,0A5H\"来实现此功能。
其计算过程如右图所示。

5、逻辑操作指令的小结

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: