首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >80x86中SHL与SAL的差异

80x86中SHL与SAL的差异
EN

Stack Overflow用户
提问于 2011-12-04 05:04:12
回答 7查看 55.3K关注 0票数 34

我已经学会了如何使用80x86汇编程序,所以在位移位操作中,我遇到了SAL和SHL使用方面的问题。我的意思是代码行之间的区别如下:

代码语言:javascript
复制
MOV X, 0AAH
SAL X, 4

MOV X, 0AAH
SHL X, 4

我们什么时候应该使用SHL,什么时候使用SAL?他们有什么区别?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-12-04 05:09:49

根据的说法,它们是一样的:

移位算法左(SAL)和移位逻辑左(SHL)指令执行相同的操作;它们将目标操作数中的位移到左边(向更重要的位位置移动)。对于每个移位计数,目标操作数中最重要的位被移到CF标志中,最小的位被清除(参见Intel 64和IA-32架构软件开发人员手册第1卷中的图7-7 )。

这两者可能只是为了完整性而被包括在内,因为右移是有区别的。

票数 43
EN

Stack Overflow用户

发布于 2017-06-14 07:28:59

shl和sal是same.They有相同的机器代码。

shr和sar是而不是,same.They有几乎相同的机器代码。(但不是)

检查

票数 9
EN

Stack Overflow用户

发布于 2011-12-04 05:10:31

除了英特尔和AMD想反对复制SAL之外,没有什么不同。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8373415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档