资源描述:
《5--逻辑运算与移位指令》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、三、逻辑运算和移位指令逻辑运算和移位指令逻辑运算指令ANDDST,SRC逻辑与指令ORDST,SRC逻辑或指令XORDST,SRC逻辑异或指令TESTDST,SRC测试指令NOTOPR逻辑非指令移位指令SHLOPR,CNT逻辑左移指令SALOPR,CNT算术左移指令SHROPR,CNT逻辑右移指令SAROPR,CNT算术右移指令ROLOPR,CNT左循环移位指令ROROPR,CNT右循环移位指令RCLOPR,CNT带进位左循环移位指令RCROPR,CNT带进位右循环移位指令SHLDDST,REG,CNTSHRDDST,REG,CNT逻辑运算指令(1)AND逻辑与指令格式:ANDDST,SRC功
2、能:(DST)←(DST)∧(SRC)(按位与)操作数:通用寄存器立即数存储器ANDMEM,IDATAANDREG,IDATAANDREG,MEMANDMEM,REGANDREG,REG对标志寄存器的影响:1)CF=OF=0;2)根据运算结果设置SF、ZF、PF标志;3)AF无定义。说明:1)利用AND指令,可以保留特定位(与1),同时屏蔽掉其它位(与0),以检测特定位。2)利用AND指令,可以将某些特定位设置为0(与0),同时使其余位保持原值不变化(与1)。3)一个寄存器和自身进行逻辑与运算,该寄存器内容不变。但该运算影响了SF、ZF、PF三个标志位,并使OF和CF清零。利用该特性,可以判断
3、一个数据的正负、是否为零、以及数据的奇偶性。(2)OR逻辑或指令格式:ORDST,SRC功能:(DST)←(DST)∨(SRC)(按位或)操作数:通用寄存器立即数存储器ORMEM,IDATAORREG,IDATAORREG,MEMORMEM,REGORREG,REG对标志寄存器的影响:1)CF=OF=0;2)根据运算结果设置SF、ZF、PF标志;3)AF无定义。说明:1)利用OR指令,可以将某些特定位设置为1(或1),同时使其余位保持原值不变化(或0)。2)一个寄存器和自身进行逻辑或运算,该寄存器内容不变。但该运算影响了SF、ZF、PF三个标志位,并使OF和CF清零。利用该特性,可以判断一个数
4、据的正负、是否为零、以及数据的奇偶性。(3)XOR异或指令格式:XORDST,SRC功能:(DST)←(DST)⊕(SRC)(按位异或)操作数:通用寄存器立即数存储器XORMEM,IDATAXORREG,IDATAXORREG,MEMXORMEM,REGXORREG,REG对标志寄存器的影响:1)CF=OF=0;2)根据运算结果设置SF、ZF、PF标志;3)AF无定义。说明:1)用XOR指令,可以将某些特定位“求反”(异或1),同时使其余位保持原值不变化(异或0)。2)利用XOR指令,还可以将某个寄存器内容清零。例如:XORAX,AX;AX清0,设置CF=0(4)TEST测试指令格式:TEST
5、OPR1,OPR2功能:(OPR1)∧(OPR2)(按位与),操作结果不保留,只根据操作结果的特征,设置条件码。操作数:ANDMEM,IDATAANDREG,IDATAANDREG,MEMANDMEM,REGANDREG,REG对标志寄存器的影响:1)CF=OF=0;2)根据运算结果设置SF、ZF、PF标志;3)AF无定义。说明:TEST指令经常被用于进行位测试,例如:┇TESTAL,01HJZZERO;AL第0位为0,则跳转到标号ZERO处,否则继续执行┇(5)NOT逻辑非指令格式:NOTOPR功能:(OPR)←将(OPR)按位取反操作数:NOTREGNOTMEM对标志寄存器的影响:对任何标
6、志位都没有影响。移位指令操作数①OPR:寄存器操作数REG、存储器操作数MEM②CNT:立即数1,或者寄存器CL。对标志寄存器的影响:①CF位:根据各条指令的规定来设置。②OF位:当CNT=1,既移位次数等于1时,如果移位后最高有效位的值发生变化,则OF=1;否则,OF=0。当CNT>1时,既移位次数大于1时,该位无定义。③SF、ZF、PF位:根据移位后的结果进行设置;④AF位无定义。说明:移位指令经常用来作乘以2/除以2的操作。算术移位指令适用于带符号数的运算,SAL用来乘以2,SAR用来除以2。逻辑移位指令适用于无符号数的运算,SHL用来乘以2;SHR用来除以2。(1)SHL/SAL逻辑左
7、移/算术左移指令格式:SHL/SALOPR,CNT功能:将操作数(OPR)的内容,左移CNT位,最高位给CF,最低位补0。见下图所示:0CF(2)SHR逻辑右移指令格式:SHROPR,CNT功能:将操作数(OPR)的内容,右移CNT位,最高位补0,最低位送给CF。见下图所示:0CF(3)SAR算术右移指令格式:SAROPR,CNT功能:将操作数(OPR)的内容,右移CNT位,最高位右移,同时再用其