- 无符号数的乘法和除法可以用逻辑移位;
- 有符号数的乘法和除法可以用算术移位;
汇编语言中 sal(算术左移指令)和shl(逻辑左移指令)指令的寻址方式、控制移位方式等都一样,区别其实只有一处:
SAL算术移位指令在执行时,实际上把操作数看成有符号数进行移位,最高位符号位移入CF,但本身保持原值;其余位顺序左移,次高位被舍弃。
SHL逻辑移位指令在执行时,实际上把操作数看成无符号数进行移位,所有位顺序左移,最高位移入CF。
举例如下:
MOV AX,8001H;(AX)=1000 0000 0000 0001B
SAL AX,1 ;(AX)=1000 0000 0000 0010B
MOV AX,8001H;(AX)=1000 0000 0000 0001B
SHL AX,1 ;(AX)=0000 0000 0000 0010B
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/15950.html