0
点赞
收藏
分享

微信扫一扫

微型计算机原理与接口技术——8086指令系统之逻辑运算指令


逻辑运算和移位指令

  • ​​逻辑运算指令​​
  • ​​“与”指令​​
  • ​​格式​​
  • ​​操作​​
  • ​​“与”指令的应用​​
  • ​​“或”运算指令​​
  • ​​格式​​
  • ​​操作​​
  • ​​“或”指令的应用​​
  • ​​“非”运算指令​​
  • ​​格式​​
  • ​​操作​​
  • ​​“异或”运算指令​​
  • ​​格式​​
  • ​​操作​​
  • ​​“测试”指令​​
  • ​​格式​​
  • ​​操作​​
  • ​​应用​​

微型计算机原理与接口技术——8086指令系统之逻辑运算指令_逻辑运算

逻辑运算指令

逻辑运算指令对操作数的要求大多与MOV指令相同。

  • “非”运算指令要求操作数不能是立即数;
  • 除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0,AF值不变,并对SF、PF、ZF产生影响

“与”指令

格式

AND OPRD1,OPRD2

操作

两操作数按位相“与”,结果送目标地址。

“与”指令的应用

  • 实现两操作数 按位相与的运算
    AND BL,[SI]
  • 使目标操作数的 某些位不变,某些位清零
    AND AL,0FH
  • 在操作数不变的情况下使CF和OF清零
    AND AX,AX

“或”运算指令

格式

OR OPRD1,OPRD2

操作

两操作数按位相“或”,结果送目标地址

“或”指令的应用

  • 实现两操作数按位相“或”的运算
    OR AX,[DI]
  • 使某些位不变,某些位置“1”
    OR CL,0FH
  • 在不改变操作数的 情况下使OF=CF=0
    OR AX,AX

“非”运算指令

格式

NOT OPRD

操作

操作数按位取反再送回原地址

需要注意的是:

  • 指令中的操作数不能是立即数
  • 指令的执行对标志位无影响

“异或”运算指令

格式

XOR OPRD1,OPRD2

操作

两操作数相“异或”,结果送目标地址

“测试”指令

格式

TEST OPRD1,OPRD2

操作

执行“与”运算,但运算的结果不送回目标地址。

应用

常用于测试某些位的状态

例:TEST AL,02H ;若AL的D1位为1,则ZF=0,否则 ZF=1。


举报

相关推荐

0 条评论