x86-64汇编乘以4

时间:2019-01-24 07:55:02

标签: assembly x86-64

我正在尝试寻找使用imull的替代方法,因此出现了一个问题。

QBRequest对%eax的影响是否与sall $2, %eax相同,确切地说应该乘以4?

1 个答案:

答案 0 :(得分:2)

您是对的,sall $2, %eaxeax乘以 4 ,即它将寄存器eax 的位置移两位左边。

请注意,salshl实际上是同义词,而sarshr不是。对于向左的移位,在 signed unsigned 之间没有区别。

在您的情况下,您只是将寄存器的位移到了 left ,要移位的操作数的符号无关紧要,因为最高有效位(即符号位)不需要解释为右算术移位