微型计算机技术与应用.ppt_第1页
微型计算机技术与应用.ppt_第2页
微型计算机技术与应用.ppt_第3页
微型计算机技术与应用.ppt_第4页
微型计算机技术与应用.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,2019/11/22,3.2.3逻辑运算和移位指令,1.逻辑运算指令,1)AND(Logicaland)逻辑“与”指令2)OR(Lgicalinclusiveor)逻辑“或”指令3)XOR(Logicalexclusiveor)逻辑“异或”指令4)TEST(Testornon-destructivelogicaland)测试指令5)NOT(Logicalnot)逻辑“非”指令,特点:对其操作数按位执行逻辑操作,操作数可以是双字、字或字节。影响条件码:(NOT指令除外)CF0F=0,A未定义,SFZFPF(运算结果),源操作数可以为立即数、寄存器、存储器目的操作数可以为寄存器、存储器,不能为立即数源操作数不是立即数时,两操作数必有一个寄存器,第3章Pentium的指令系统,2,2019/11/22,ANDdest,src;(dest)(destsrc)操作:进行“与”运算,两位中有一位为0(或二位都为0),则结果为0,否则为1。,寄存器、存储器,立即数、寄存器、存储器,1)AND逻辑“与”指令(Logicaland),“与”指令的用途:(1)清CF,OF,自己“与”自己.操作数不变,CF=0,OF=0例:ANDAL;结果:操作数不变,CF=0,OF=0。(2)使操作数中若干位保持不变,若干位与“1”相与;而若干位置为“0“的场合,若干位与“0”相与。例:若(AL)=43HANDAL,0FH;(AL)=03H,(AL)03不变;;(AL)47=00H,屏蔽高4位。,第3章Pentium的指令系统,3,2019/11/22,“与”指令应用举例:例1:将英文小写字母ASCII转换成大写。小写英文字母ASCII为:az61H7AH大写英文字母ASCII为:AZ41H5AH程序:MOVAL,zANDAL,0DFH;(AL)=5AH,11011111,DFH,01100001,01000001,61H,41H,01111010,01011010,7AH,5AH,第3章Pentium的指令系统,4,2019/11/22,ORdset,src;(dset)(dset)(src)操作:进行按位“或”运算两位操作数中任一位为1(或都为1),则该位(结果)=1,否则为0。,寄存器、存储器,立即数、寄存器、存储器,2)OR逻辑“或”指令(Lgicalinclusiveor),或指令应用用途:(1)清CF,OF,自己与自己“或”,操作数不变,CF=0,OF=0例:ORAL;(AL)不变,CF=0(2)使某操作数若干位保持不变,若干位与“0”或;若干位置1,与“1”或。(3)将两个操作数信息组合。若(AL)=03H用OR指令组合使(AL)=33H=3。ORAL,30H;(AL)=33H,第3章Pentium的指令系统,5,2019/11/22,XORdset,src;(dset)(dset)(src)操作:对指令的两个操作数进行按位“异或”运算。二位不相同时为1,相同时为0。,寄存器、存储器,立即数、寄存器、存储器,3)XOR逻辑“异或”指令(Logicalexclusiveor),用途:对某些特定位求反,某些特定位与“1”其余位保持不变,保持不变与“0”。应用举例:例1:将(AL)中的第1、3、5、7位求反0、2、4、6位保持不变。MOVAL,0FHXORAL,0AAH,第3章Pentium的指令系统,6,2019/11/22,例:比较三条(AX)清“0”指令:XORAX,AX;清AX,清CF。SUBAX,AX;清AX,清CF。MOVAX,0;清AX,不影响标志位。XOR清“0”指令在多字节累加程序中十分有用。,第3章Pentium的指令系统,7,2019/11/22,TESTdest,src;(dest)(src)操作:二个操作数相与,结果不存,只置条件码。,寄存器、存储器,立即数、寄存器、存储器,4)TEST测试指令(Testornon_destructivelogicaland),用途:常常用来检测一些条件是否满足,但又不希望改变原有的操作数的情况下,常在此指令后边加一条条件转移指令。例:判断A单元中数据的奇偶性,设:(A)=0AEH程序:MOVAL,A;(AL)=0AEHTESTAL,01HJZEVEN;结果=0为偶数转EVEN奇数处理EVEN:偶数处理检测(AL)的最低位是否为0,若为0转EVEN,第3章Pentium的指令系统,8,2019/11/22,执行操作:对标志位无影响。字节求反:(dest)0FFH-(dest)字求反:(dest)0FFFFH-(dest),5)NOT逻辑“非”指令(Logicalnot),NOTdest;操作数只一个,对操作数按位求反。,逻辑指令应用小结:(1)AND指令用来对指令的指定位清“0”。(2)OR指令常用来对某些位置1。(3)XOR指令用在程序开头,使某个寄存器清“0”。(4)NOT指令对某个数据取反,+1成补码。(5)TEST指令用来检测指定位为1,还是0。,第3章Pentium的指令系统,9,2019/11/22,逻辑运算指令,10,2019/11/22,1)非循环移位(算术/逻辑移位指令)SAL,SAR,SHL,SHR。2)循环移位ROL,ROR,RCL,RCR。3)双精度移位SHLD,SHRD。,将操作数移动一位或多位,分别具有左移或右移操作,将操作数从一端移出的位返回到另一端形成循环,分成不带进位和带进位,分别具有左移或右移操作,2.移位指令,快速数据移位,三个操作数,实现双左移,双右移,第3章Pentium的指令系统,11,2019/11/22,SHLdest,cnt;逻辑左移指令,B/W/DWSALdest,cnt;算术左移指令,B/W/DW,dest,执行操作:相当于无符号数的2功能。,第3章Pentium的指令系统,12,2019/11/22,cnt:表示移位次数cnt31,可写在指令中,也可用CL给出。cnt31,用CL存放移位次数,不能是其他寄存器。如:SALAX,1MOVCL,4SALAX,CLSALEAX,CL,第3章Pentium的指令系统,13,2019/11/22,SHRdest,cnt;逻辑右移指令,B/W,dest,执行操作:相当于无符号数的2功能。,第3章Pentium的指令系统,14,2019/11/22,SARdest,cnt;算术右移指令,B/W,dest,执行操作:相当带符号数2功能,SAR对负数向下舍入IDIV指令对负数向上舍入。,第3章Pentium的指令系统,15,2019/11/22,用SAR指令与用IDIV指令做除法的区别:用SAR指令做除法(对负数向下舍入):MOVAX,81H;(AX)=-127SARAX,1;(AX)=-64用IDIV指令做除法(IDIV指令对负数向上舍入):MOVAX,81H;(AX)=-127MOVCL,2IDIVCL;(AL)=-63,(AH)=-1,10000001,11000000,第3章Pentium的指令系统,16,2019/11/22,ROLdest,cnt;不含CF循环左移指令,dest,移动8次后操作数还原。,第3章Pentium的指令系统,17,2019/11/22,RORdest,cnt;不含CF循环右移指令,右移8次后操作数还原。,第3章Pentium的指令系统,18,2019/11/22,RCLdest,cnt;含CF循环左移指令,左移9次后操作数还原,dest,第3章Pentium的指令系统,19,2019/11/22,RCRdest,cnt;含CF循环右移指令,右移9次后操作数还原,dest,第3章Pentium的指令系统,20,2019/11/22,循环移位指令(Rotate)与移位指令(Shift)不同点:循环移位指令移位后,操作数中原来各数位的信息不会丢失,这是移动了位置,必要时可以恢复。循环移位指令可以对操作数进行测试。例:测试(AL)5=?0MOVCL,3ROLAL,CLJNCZEROZERO:,AL,21,2019/11/22,利用带进位循环移位指令将两个寄存器或存储器单元组合起来一起移位。例:将DX、AX组合起来构成32位寄存器向左移一位。如下图所示:,程序:SHLAX,1RCLDX,1,32位寄存器向左移一位,22,2019/11/22,思考:,把AL最低位送BL最低位,保持AL不变AH.AL分别存放着非压缩BCD码的两位,将它们合并成为一个压缩BCD码存AL,10100011,01111100,01111101,第3章Pentium的指令系统,23,2019/11/22,位传送,;把AL最低位送BL最低位,保持AL不变RORBL,1RORAL,1RCLBL,1ROLAL,1,AL之D0,第3章Pentium的指令系统,24,2019/11/22,BCD码合并,;AH.AL分别存放着非压缩BCD码的两位;将它们合并成为一个压缩BCD码存ALANDAX,0F0FH;保证高4位为0MOVCL,4ROLAH,CL;也可以用SHLAH,CLADDAL,AH;也可以用ORAL,AH,第3章Pentium的指令系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论