2022年X汇编语言程序设计⑦.指令系统逻辑运算和移位指令[归 .pdf
《2022年X汇编语言程序设计⑦.指令系统逻辑运算和移位指令[归 .pdf》由会员分享,可在线阅读,更多相关《2022年X汇编语言程序设计⑦.指令系统逻辑运算和移位指令[归 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、80X86 汇编语言程序设计第二章 8086/8088 寻址方式和指令系统(四)逻辑运算和移位指令1.逻辑运算指令(1)否操作指令NOT格式 :NOT OPRD这条指令把操作数OPRD 取反,然后送回OPRD 。操作数 OPRD 可以是通用寄存器,也可以是存储器操作数,不能是立即数。此指令对标志位没有影响。例如 :MOV AL,03HNOT AL指令执行后: (AL )=0FCH(2)与操作指令AND格式 :AND OPRD1,OPRD2这条指令对两个操作数进行按位的逻辑“ 与” 运算,结果送到目的操作数OPRD1 。该指令执行以后,标志CF=0 ,标志 OF=0 ,标志 PF、ZF、SF 反
2、映运算结果,标志AF 未定义。某个操作数自己与自己相“ 与” ,则值不变,但可使进位标志CF 清0。与操作指令主要用在使一个操作数中的若干位维持不变,而另外若干位清为0的场合。把要维持不变的这些位于“ 1” 相“ 与” ,而把要清为0的这些位于 “ 0” 相 “ 与” 就能达到这样的目的相“ 与” :两个操作数都是1的,结果为 1,其他情况全是0。例如 :MOV AL,23HMOV BL,02HAND AL,BL指令执行后: (AL )=02H(AL)=23H ,将 AL 寄存器的第一位和第三位清零,其余位不变,则BL 是什么时,与AL执行 AND 指令可完成?(BL)=F5HMOV AL,2
3、3HMOV BL,F5HAND AL,BL(3)或操作指令OR格式 :OR OPRD1,OPRD2这条指令执行以后,标志CF=0 ,标志 OF=0. ,标志 PF 、ZF 、SF 反映运算结果,标志AF 未定义。某个操作数自己与自己相“ 或” ,则值不变,但可使进位标志CF 清0。相“ 或” :两个操作数中有一个是1的,结果为 1,其他情况全是0。或操作指令主要用于在使一个操作数中的若干位维持不变,而另外若干位置为1的场合。把要维持不变的这些位于“ 0” 相“ 或” ,而把要置为 1的这些位与 “ 1” 相“ 或” 就能达到这样的目的。例如 :MOV BL,12HOR BL,BL名师资料总结
4、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - (BL)=12H CF=0(4)异或操作指令XOR格式 :XOR OPRD1,OPRD2相“ 异或 ” :两个操作数,一个是0,一个是 1,则为 1;两个都为 1,则为 0;两个都为 0,则为 0。这条指令对两个操作数进行按位的逻辑“异或”运算,结果送到目的操作数OPRD1 。该指令执行以后,标志CF=0,标志 OF=0 ,标志 PF、ZF、SF反映运算结果,标志AF 未定义。 某个操作数自己与
5、自己相 “ 异或 ” ,则结果为 0,并可使进位标志CF 清0。异或操作指令主要用于在使一个操作数中的若干位维持不变,而另外若干位置取反的场合。把要维持不变的这些位于“ 0” 相“ 异或 ” ,而把要取反的这些位与“ 1” 相“ 异或 ” 就能达到目的。例如 :MOV BL,56HXOR BL,BL指令执行后: (BL )=0 CF=0(5)测试指令TEST格式 :TEST OPRD1,OPRD2这条指令和指令AND 类似,也把两个操作数进行按位“ 与” ,但结果不送到操作数OPRD1 。该指令执行以后,标志ZF 、 PF 和 SF 反映运算结果,标志CF 和 OF 被清 0。该指令通常用于检
6、测某些位是否为1,但又不希望改变原操作数值的场合。例如 : 要检查 AL中的位 6或位 2是否有一位为 1,可使用下面的指令:TEST AL,01000100B ;符号B 表示二进制(44H )如果位 6和位 2全为 0,那么在执行上面的指令后,ZF 被置 1,否则 ZF 被清 0。例如:要求屏蔽0、1两位,可用AND 指令并设置常数0FCH 。MOV AL,0BFHAND AL,0FCH这两条指令执行的结果使(AL )0BCH 所以 AND 指令可以使操作数的某些位被屏蔽。例如:要求第5位置 1,可用 OR 指令MOV AL,43HOR AL,20H这两条指令执行后, (AL )=63H ,
7、所以用OR 指令可以使操作数的某些位置1,其它位则保持不变。例如 :要测试操作数的某位是否为1,则可先把该操作数求反然后用TEST指令测试。如要测试AL 寄存器中第二位是否为1,如为 1则转移到EXIT 去执行,可用下列指令序列:MOV DL,ALNOT DLTEST DL,00000100BJE EXIT2.一般移位指令(1)算术左移或逻辑左移指令SAL/SHL (Shift Aritlunetic Left 或 Shift Logic Left)算术左移和逻辑左移进行相同的动作,尽管为了方便提供有两个助记符,但只有一条机器指令。格式 :SAL OPRD,m名师资料总结 - - -精品资料欢
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年X汇编语言程序设计.指令系统逻辑运算和移位指令归 2022 汇编语言 程序设计 指令系统 逻辑运算 移位 指令
限制150内