十六进制数,括号中的寄存器在汇编中是什么意思?

What does a hexadecimal number, with a register in parenthesis mean in Assembly?

lea 0x1c(%ebp),%eax

所以,我隐约明白lea指令是做什么的,我知道那些是寄存器,但是这个结构是什么:0x1c(%ebp)?我从 objdump 中得到了这段代码。

它是众多 x86 addressing modes 之一。具体来说,这称为 "displacement" 寻址。

既然你说你使用了 objdump 而没有指定你使用了 -M 标志,我将在 GAS syntax (as opposed to Intel syntax 中假设这一点。这意味着第一个操作数是源,第二个操作数是目标。

lea 0x1C(%ebp),%eax 指令表示,"Take the value in %ebp, add 0x1C (28 in decimal), then store that value in %eax"。