第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt

第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt

ID:48824337

大小:1.40 MB

页数:25页

时间:2020-01-30

第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt_第1页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt_第2页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt_第3页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt_第4页
第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt_第5页
资源描述:

《第3章 8086的指令系统—3.2.3逻辑运算和移位指令 - 副本.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3章3.2.3逻辑运算和移位指令位操作类指令以二进制位为基本单位进行数据的操作当需要对字节或字数据中的各个二进制位操作时,可以考虑采用位操作类指令注意这些指令对标志位的影响1.逻辑运算指令ANDORXORNOTTEST2.移位指令SHLSHRSAR3.循环移位指令ROLRORRCLRCR1.逻辑运算指令单操作数逻辑指令NOT不影响标志位,操作数与INC、DEC和NEG一样:NOTreg/mem双操作数逻辑指令AND、OR、XOR和TEST设置CF=OF=0,根据结果设置SF、ZF和PF状态,而对AF未定义;它们的操作数

2、组合与ADD、SUB等一样:运算指令助记符reg,imm/reg/mem运算指令助记符mem,imm/reg逻辑非指令NOT对一个操作数执行逻辑非运算NOTreg/mem;reg/mem←~reg/mem按位取反,原来是“0”的位变为“1”;原来是“1”的位变为“0”逻辑与指令AND对两个操作数执行逻辑与运算,结果送目的操作数ANDdest,src;dest←dest∧src只有相“与”的两位都是1,结果才是1;否则,“与”的结果为0逻辑或指令OR对两个操作数执行逻辑或运算,结果送目的操作数ORdest,src;dest

3、←dest∨src只要相“或”的两位有一位是1,结果就是1;否则,结果为0逻辑异或指令XOR对两个操作数执行逻辑异或运算,结果送目的操作数XORdest,src;dest←dest⊕src只有相“异或”的两位不相同,结果才是1;否则,结果为0测试指令TEST对两个操作数执行逻辑与运算,结果并不送目的操作数,仅按AND指令影响标志TESTdest,src;dest∧srcAND与TEST指令的关系,同SUB与CMP指令的关系一样例1逻辑运算MOVAL,75H;AL=75HANDAL,32H;AL=30H;CF=OF=0,S

4、F=0,ZF=0,PF=1ORAL,71H;AL=71H;CF=OF=0,SF=0,ZF=0,PF=1XORAL,0F1H;AL=80H;CF=OF=0,SF=1,ZF=0,PF=0NOTAL;AL=7FH,标志不变例2逻辑运算指令的应用ANDBL,11110110B;BL中D0和D3清0,其余位不变ORBL,00001001B;BL中D0和D3置1,其余位不变XORBL,00001001B;BL中D0和D3求反,其余位不变AND指令可用于复位某些位(同0相与),不影响其他位OR指令可用于置位某些位(同1相或),不影响其

5、他位XOR指令可用于求反某些位(同1相异或),不影响其他位2.移位指令将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左移或右移操作移位指令的第一个操作数是指定的被移位的操作数,可以是寄存器或存储单元;后一个操作数表示移位位数:该操作数为1,表示移动一位该操作数为CL,CL寄存器值表示移位位数(移位位数大于1只能CL表示)按照移入的位设置进位标志CF,根据移位后的结果影响SF、ZF、PF逻辑左移指令SHLSHLreg/mem,1/CL;reg/mem左移1或CL位;最低位补0,最高位进入CF演示逻辑右移指令SHR

6、SHRreg/mem,1/CL;reg/mem右移1/CL位;最高位补0,最低位进入CF演示算术左移指令SALSALreg/mem,1/CL;与SHL是同一条指令演示算术右移指令SARSARreg/mem,1/CL;reg/mem右移1/CL位;最高位不变,最低位进入CF演示例3数据移位MOVDX,6075H;DX=0110000001110101BSHLDX,1;DX=1100000011101010B;CF=0,SF=1、ZF=0、PF=0SARDX,1;DX=1110000001110101B;CF=0,SF=1、

7、ZF=0、PF=0SHRDX,1;DX=0111000000111010B;CF=1,SF=0、ZF=0、PF=1MOVCL,4;CL=4,标志不变SARDX,CL;DX=0000011100000011B;CF=1,SF=0、ZF=0、PF=1例4将AL寄存器中的无符号数乘以10XORAH,AH;实现AH=0,同时使CF=0SHLAX,1;AX←2×ALMOVBX,AX;BX←AX=2×ALSHLAX,1;AX←4×ALSHLAX,1;AX←8×ALADDAX,BX;AX←8×AL+2×AL=10×ALSUBAH,AH

8、ANDAH,0逻辑左移一位相当于无符号数乘以2逻辑右移一位相当于无符号数除以23.循环移位指令循环移位指令类似移位指令,但要将从一端移出的位返回到另一端形成循环。分为:ROLreg/mem,1/CL;不带进位循环左移RORreg/mem,1/CL;不带进位循环右移RCLreg/mem,1/CL;带进位循环左移RCRr

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

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

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