lea 0x1c(%ebp),%eax
所以,我模糊地理解lea指令的作用,我知道这些是寄存器,但这个结构是什么:0x1c(%ebp)
?我从objdump中得到了这段代码。
答案 0 :(得分:3)
它是众多x86 addressing modes中的一个。具体来说,这被称为"置换"寻址。
既然你说过你使用了objdump并且没有指定你使用了-M
标志,那么我将在GAS syntax中假设这一点(而不是{{3} }})。这意味着第一个操作数是源,第二个操作数是目标。
lea 0x1C(%ebp),%eax
指令表示"取%ebp中的值,添加0x1C(十进制28),然后将该值存储在%eax"。