微机原理 第5章5.2.3位操作类指令.ppt

微机原理 第5章5.2.3位操作类指令.ppt

ID:52880979

大小:690.50 KB

页数:27页

时间:2020-04-14

微机原理 第5章5.2.3位操作类指令.ppt_第1页
微机原理 第5章5.2.3位操作类指令.ppt_第2页
微机原理 第5章5.2.3位操作类指令.ppt_第3页
微机原理 第5章5.2.3位操作类指令.ppt_第4页
微机原理 第5章5.2.3位操作类指令.ppt_第5页
资源描述:

《微机原理 第5章5.2.3位操作类指令.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、5.2.3位操作类指令位操作类指令以二进制位为基本单位进行数据的操作;这是一类常用的指令,都应该特别掌握注意这些指令对标志位的影响1、逻辑运算指令ANDORXORNOTTEST2、移位指令SHLSHRSAR3、循环移位指令ROLRORRCLRCR1、逻辑与指令AND对两个操作数执行逻辑与运算,结果送到目的操作数AND指令设置CF=OF=0,根据结果设置SF、ZF和PF状态,而对AF未定义ANDreg,imm/reg/mem;reg←reg∧imm/reg/memANDmem,imm/reg;mem←mem∧imm/re

2、g只有相“与”的两位同为1,结果才是1;否则,“与”的结果为0AND2、逻辑或指令OR对两个操作数执行逻辑或运算,结果送到目的操作数OR指令设置CF=OF=0,根据结果设置SF、ZF和PF状态,而对AF未定义ORreg,imm/reg/mem;reg←reg∨imm/reg/memORmem,imm/reg;mem←mem∨imm/reg只要相“或”的两位有一位是1,结果就是1;否则,结果为0OR3、逻辑异或指令XOR对两个操作数执行逻辑异或运算,结果送到目的操作数XOR指令设置CF=OF=0,根据结果设置SF、ZF和

3、PF状态,而对AF未定义XORreg,imm/reg/mem;reg←reg⊕imm/reg/memXORmem,imm/reg;mem←mem⊕imm/reg只有相“异或”的两位不相同,结果才是1;否则,结果为0XOR4、逻辑非指令NOT对一个操作数执行逻辑非运算NOT指令是一个单操作数指令NOT指令不影响标志位NOTreg/mem;reg/mem←~reg/mem按位取反,原来是“0”的位变为“1”;原来是“1”的位变为“0”NOT例题:逻辑运算moval,45h;逻辑与al=01handal,31h;CF=OF=

4、0,SF=0、ZF=0、PF=0moval,45h;逻辑或al=75horal,31h;CF=OF=0,SF=0、ZF=0、PF=0moval,45h;逻辑异或al=74hxoral,31h;CF=OF=0,SF=0、ZF=0、PF=1moval,45h;逻辑非al=0bahnotal;标志不变例题:逻辑指令应用;AND指令可用于复位某些位(同0相与),不影响其他位:将BL中D3和D0位清0,其他位不变andbl,11110110B;OR指令可用于置位某些位(同1相或),不影响其他位:将BL中D3和D0位置1,其他位不

5、变orbl,00001001B;XOR指令可用于求反某些位(同1相异或),不影响其他位:将BL中D3和D0位求反,其他不变xorbl,00001001B5、测试指令TEST对两个操作数执行逻辑与运算,结果不回送到目的操作数AND指令设置CF=OF=0,根据结果设置SF、ZF和PF状态,而对AF未定义TESTreg,imm/reg/mem;reg∧imm/reg/memTESTmem,imm/reg;mem∧imm/reg注意与CMP指令的比较,结果都不返回,仅改变标志位TEST例题:测试为0或1testal,01h;测

6、试AL的最低位D0jnzthere;标志ZF=0,即D0=1;则程序转移到there...;否则ZF=1,即D0=0,顺序执行there:...TEST指令通常用于检测一些条件是否满足,但又不希望改变原操作数的情况TEST例5.37【例5.37】计算X-Y的绝对值MOVAL,X-YTESTAL,10000000B;测试最高位,判断正负JZPLUS;若为正数则直接输出NEGAL;负数求绝对值则取反PLUS:MOVRESULT,ALTEST二、移位指令(shift)将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左

7、移或右移操作SHLreg/mem,1/CL;逻辑左移,最高位进入CF,最低位补0SHRreg/mem,1/CL;逻辑右移,最低位进入CF,最高位补0SALreg/mem,1/CL;算术左移,最高位进入CF,最低位补0SARreg/mem,1/CL;算术右移,最低位进入CF,最高位不变SAL与SHL相同演示演示演示移位指令的操作数移位指令的第一个操作数是指定的被移位的操作数,可以是寄存器或存储单元后一个操作数表示移位位数,该操作数为1,表示移动一位;当移位位数大于1时,则用CL寄存器值表示,该操作数表达为CL移位指令对标

8、志的影响按照移入的位设置进位标志CF根据移位后的结果影响SF、ZF、PF对AF没有定义如果进行一位移动,则按照操作数的最高符号位是否改变,相应设置溢出标志OF:如果移位前的操作数最高位与移位后操作数的最高位不同(有变化),则OF=1;否则OF=0。当移位次数大于1时,OF不确定移位指令的说明移位指令可以实现算术运算逻辑左移1位,就

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。