lea 0x1c(%ebp),%eax
所以,我模糊地理解lea指令的作用,我知道那些是寄存器,但是这个结构是什么:0x1c(%ebp)
?我从objdump中得到了这个代码。
最佳答案
它是众多x86addressing modes之一。具体来说,这被称为“流离失所”问题。
因为您说过您使用了objdump,并且没有指定您使用了-M
标志,所以我将在GAS syntax中假设这一点(与Intel syntax相反)。这意味着第一个操作数是源操作数,第二个操作数是目标操作数。lea 0x1C(%ebp),%eax
指令表示,“取%ebp中的值,加上0x1c(十进制28),然后将该值存储在%eax中”。