sall指令,格式为
sall Src,Dest
转换为Dest by Src的左移
Dest=Dest<<Src
但我不知道这是什么:
sall -8(%ebp)
我认为它的移位-8(%ebp)会离开,但会有多少?
答案 0 :(得分:2)
SAL r/m32, 1
表示:
Multiply r/m32 by 2, once.
您的汇编程序似乎不需要, 1
,因为它很容易推断。
我刚刚在这里做了一个快速测试,并检查出来:
.globl f
f:
sall -8(%ebp)
sall $1, -8(%ebp)
组装和反汇编:
$ otool -tV example.o
example.o:
(__TEXT,__text) section
f:
0000000000000000 shll -0x8(%ebp)
0000000000000004 shll -0x8(%ebp)
$ otool -t example.o
example.o:
(__TEXT,__text) section
0000000000000000 67 d1 65 f8 67 d1 65 f8
请注意,两个操作码都是相同的。