括号中的逗号对于x86汇编的AT& T语法是什么意思?

时间:2013-09-06 04:47:20

标签: assembly x86 att

(register1, register2, 4)在AT& T汇编中意味着什么?

例如:

cmp %eax, (%esi, %ebx, 4)

1 个答案:

答案 0 :(得分:6)

完整的AT& T基本/索引寄存器语法是:

offset(base, index, multiplier)

您的offset字段为0,因此您只有(base, index, multiplier)部分。在您的情况下,您将eax寄存器的内容与位于esi + (ebx * 4)的32位值进行比较。

在您可能更熟悉的英特尔语法中,这将写成:

cmp [ebx*4 + esi], eax