汇编语言中 sal(算术左移指令)和shl(逻辑左移指令)指令的区别?

算术用于带符号数运算,逻辑用于不带的。操作没区别。都是最高位入CF最低位补0

汇编语言中
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

扩展阅读:扫一扫题目出答案 ... 中文越南语互译 ... 3.17循环左移和循环右移 ... 汇编语言 机器 面向 ... 单片机汇编语言左移 ... 汇编指令sall ... 汇编语言指令大全pdf ... 汇编在线转换 ... 汇编循环左移指令 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网