`movl` 指令中的减号是什么意思?

What does the minus sign mean in a `movl` instruction?

我有这个汇编代码:

movl -4(%ebp),%eax

(%ebp) 前面的 -4 是什么意思?

-4 是寄存器保存的指针的常量偏移量。此代码读取 ebp - 4 处的 long 值并将其存储在 eax 中。这是 AT&T 语法;相同指令的英特尔语法为 mov eax, dword ptr [ebp-4].