微型计算机原理与接口技术:逻辑运算与移位指令.ppt

微型计算机原理与接口技术:逻辑运算与移位指令.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

§2.4逻辑运算与移位指令2.4.1逻辑运算指令(P79,全部要求掌握)逻辑运算指令包括AND(与)、OR(或)、NOT(非)、XOR(异或)指令和TEST(测试)指令。一、与运算指令AND指令格式:ANDDEST,SRC即:DST←DST∧SRC功能:将源操作数和目的操作数中同为一个字或一个字节的相应各位按位相与,结果放在目的操作数中。逻辑与运算经常用来屏蔽某些指定位(即置0)或保留某些位。例如:若(AL),用AND指令将高4位屏蔽,保留低4位。指令序列如下:MOVALANDAL,0FH;运行后(AL)二、或运算指令OR指令格式:ORDST,SRC执行的操作:DST←DST∨SRC功能:将源操作数和目的操作数中同为一个字或一个字节的相应各位按位相或,结果放在目的操作数中。此运算经常用来对某操作数的指定位“置1”,保留其它位的值。例:若(AL)=B,试用OR指令将最高位置位,其余位不变。指令序列如下:MOVALBORALB;运行后(AL)B三、异或运算指令XOR指令格式:XORDST,SRC执行的操作:DST←DST?SRC功能:将源操作数和目的操作数中同为一个字或一个字节的相应各位按位相异或,结果放在目的操作数中。此运算可以使某些操作数的若干位保持不变,另外若干位取反。例1:使(BL)的低4位保持不变,高4位取反。可用XORBL,0F0H来实现。例2:利用XOR使操作数清0。XORAX,AX;(AX)=0例3:用XOR指令判断两个不同的操作数是否相等。XORAX,BX若ZF=1则说明(AX)=(BX)。四、非运算指令NOT指令格式:NOTOPR功能:将字或字节操作数中各位求反(即0变1,1变0),操作数可为寄存器或存储器。例:(AL)=NOTAL ;(AL)=。五、测试指令TEST指令格式:TESTOPR1,OPR2执行的操作:(OPR1)∧(OPR2)功能:同AND,区别是不将结果送目的操作数,只影响标志位。例:测试AL中的D3位是否为0。TESTALSHL(shiftlogicalleft) 逻辑左移SAL(shiftarithmeticleft) 算术左移SHR(shiftlogicalright) 逻辑右移SAR(shiftarithmeticright) 算术右移ROL(rotateleft) 循环左移ROR(rotateright) 循环右移RCL(rotateleftthroughcarry) 带进位循环左移RCR(rotaterightthroughcarry)带进位循环右移2.4.2移位指令(P81,全部要求掌握)一、逻辑左移指令SHL/算术左移指令SAL指令格式:SHLOPR,CNT;SALOPR,CNT执行的操作如图所示。例:SHLDX,1功能:将目的操作数OPR的每一位都同时左移,移位次数由CNT指定,左边移出的位进入CF标志位,右边空出的位补0。其中的OPR可以是除立即数以外的任何寻址方式。移位次数由CNT决定,CNT可以为1或是CL寄存器中的值。CNT为1时只移一位,如需要移位的次数大于1,则可以在该移位指令前把移位次数置

文档评论(0)

胖鸥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档