专升本微机原理清华版第五章

专升本微机原理清华版第五章

ID:39226515

大小:245.51 KB

页数:43页

时间:2019-06-28

专升本微机原理清华版第五章_第1页
专升本微机原理清华版第五章_第2页
专升本微机原理清华版第五章_第3页
专升本微机原理清华版第五章_第4页
专升本微机原理清华版第五章_第5页
资源描述:

《专升本微机原理清华版第五章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、5.3.2逻辑运算和移位指令1逻辑运算指令单操作数指令:NOT双操作数指令:AND,OR,XOR,TEST不影响标志位指令:NOT影响标志位指令:AND,OR,XOR,TESTNOT目标(只有一个寄存器/内存操作数,此指令用于将操作数的所有二进制数求反)NOTBL假如BL=10100101B,则结果为BL=01011010B不影响标志位例如:NOTAL;NOTAX;NOTWORDPTR[1000H];ANDBL,0FHxxxxxxxx(BL)000011110F0000xxxx结果ANDAND目标

2、,源(常用于将二进制数的某些位清0)ANDAL,0FH;ANDAX,1000HANDAX,BX;ANDDX,[BX+SI]AND指令可以使操作数某些位被屏蔽。把AND指令的源操作数设置成一个立即数,需要屏蔽的位设为0,其它位设为1,指令执行后对应目的操作数设为0的相应位就可清0,其它各位则维持不变。ORBL,0FHxxxxxxxx(BL)000011110Fxxxx1111结果(BL)OROR目标,源(常用于将二进制数的某些位置1)ORAL,30H;ORAX,00F0HORBYTEPTR[BP],

3、0FHXOR目标,源(用于将二进制数的某些位求反,将要求反的某些位与1异或。或对于某寄存器清0)XORBL,0FHxxxxxxxx(BL)000011110Fxxxxxxxx结果(BL)XORXORAL,OFH;XORAX,AXXORCX,1000H;XORBYTEPTR[DI],55HXORAX,AX;AX清零位测试TESTTEST用于测试二进制数的某1位功能相当于AND指令,但只影响标志位,不影响目标TESTAL,1;测试AL中的最低位是否为0或1JNZRIGHTTESTAL,80H;测试AL

4、中的最高位是否为0或1JNZLEFT当被测试位为0时,ZF置位(ZF=1);当被测试位为1时,ZF复位(ZF=0)逻辑运算指令影响标志位的情况:NOT指令不影响标志位;AND、OR、XOR、TEST指令使标志位OF=0、CF=0,AF=任意值,SF、ZF、PF根据结果而定。2.移位指令非循环移位指令:SHL,SAL,SHR,SAR影响标志位循环移位指令:ROL,ROR,RCL,RCR影响CF,OF标志位操作数8位或16位双操作数1、SHL目标,计数值;SAL目标,计数值;逻辑左移;算术左移;CF0

5、左移一位相当于乘以2,例如当AL=00000010B(02H)时,执行“SALAL,1”后AL=00000100B(04H)11111111B(FFH)算术左移1位后为11111110B(FEH)-1-210000001B(81H)算术左移1位后为00000010B(FEH)-127+2(溢出)移位后最高位与进位CF不同,(移位前后符号位不同了),OF置1一、非循环移位指令2、SHR目标,计数值;逻辑右移0CFCF3、SAR目标,计数值;算术右移相当于除以210000010B(82H)移1位后为0

6、1000001B(41H)13065相当于除以210000010B(82H)移1位后为11000001B(C1H)-126-63若需要带符号的数乘以(除以)2的整数次幂,使用算术移位指令(SAL,SAR);若需要无符号的数乘以(或除以)2的整数次幂,使用逻辑移位指令(SHL,SHR)二、循环移位指令ROL目标,计数值;不带CF的循环左移指令ROLCFROR目标,计数值;不带CF的循环右移指令RORCFMOVCL,4RORAL,CL执行指令前:AL=01001000B执行指令后:AL=1000010

7、0BMOVCL,2ROLAL,CL执行指令前:AL=01H执行指令后:AL=40H循环移位指令RCL目标,计数值;带CF的循环左移指令RCLCF0RCR目标,计数值;带CF的循环右移指令RCRCFMOVCL,2RCLAL,CL执行指令前:CF=1,AL=01010000B执行指令后:AL=01000010B,CF=1移位指令的特点:指令码目标,计数值;目标只能是寄存器、存储器,计数值只能是1或CL中的值;例如:SHLDX,1;SHRWORDPTR[BX],CLSALBX,1;SARAX,CL;RO

8、RAL,CLROLBYTEPTR[BX],1;RCRBYTEPTR[BX],CLRCLWORDPTR[BX],1;移位指令可以对字节操作,也可以对字操作,操作数可以是寄存器也可以是存储单元,如果只移动一位,则在指令中直接指出,如果要移动若干位,则必须在CL中指定移动位数;对存储单元进行操作时必须用前缀指定是字操作还是字节操作。移位指令的特点:指令码目标,计数值;目标只能是寄存器、存储器,计数值只能是1或CL中的值;影响标志位的情况:移位指令:除AF=任意值外,其余的根据结果而定循环

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

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

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