文章目录
一、逻辑运算指令
1、逻辑‘与’指令 AND
指令格式:AND OPRD1,OPRD2 ;OPRD1←OPRD1^OPRD2
功能:AND指令使源操作数和目标操作数按bit位相“与”,结果送回目标操作数。AND中的“与”’特性通常可将指定位清0
常用作:
- 实现两个数 的按位与
- 使目标操作数中某些位保持不变,把其他位清‘0’
- 使操作数不变,但影响其他6个状态标志位,并使CF=OF=0
例如:
AND AX,[BX] ;AX和[BX]所指字单元的内容按位相‘与’,结果送AX
AND AL,OFH ;AL的高四位清0,第四位保持不变
AND AX,AX ;AX自身按位相与,不改变AX中的内容,但影响6个状态标志位
2、逻辑‘或’指令 OR
指令格式:OR OPRD1,OPRD2 ;OPRD1←OPRD1∨OPRD2
指令功能:OR指令实现对源操作数和目标操作数按位相“或”,结果送会目标操作数中,对应AND指令,OR指令在程序中也应用于一下方面:
- 实现对两数按位相“或”
- 使目标数某些位保持不变,将另外一些位置1。此时源操作数应这样设置:目标数哪些位需要置‘1’,就把源操作数的对应bit位设为1,其他位设为0
- 使操作数不变,但影响6个状态标志位,并使CF=OF=1
例如:
OR [BX],AL ;[BX]←[BX]∨AL,将[BX]中内容和AL中内容向“或”,结果送回[BX]单元
OR AL,20H ;将AL中的D5位置1,其余位不改变
OR AX,AX ;AX中内容不变,但影响6个状态标志位
3、逻辑“非”指令 NOT
指令格式: