我已经学会了如何使用80x86汇编程序,所以在位移位操作中,我遇到了SAL和SHL使用方面的问题。我的意思是代码行之间的区别如下:
MOV X, 0AAH
SAL X, 4
MOV X, 0AAH
SHL X, 4我们什么时候应该使用SHL,什么时候使用SAL?他们有什么区别?
发布于 2011-12-04 05:09:49
根据这的说法,它们是一样的:
移位算法左(SAL)和移位逻辑左(SHL)指令执行相同的操作;它们将目标操作数中的位移到左边(向更重要的位位置移动)。对于每个移位计数,目标操作数中最重要的位被移到CF标志中,最小的位被清除(参见Intel 64和IA-32架构软件开发人员手册第1卷中的图7-7 )。
这两者可能只是为了完整性而被包括在内,因为右移是有区别的。
发布于 2017-06-14 07:28:59
发布于 2011-12-04 05:10:31
除了英特尔和AMD想反对复制SAL之外,没有什么不同。
https://stackoverflow.com/questions/8373415
复制相似问题