lea 0x1c(%ebp),%eax
所以,我模糊地理解lea指令的作用,我知道那些是寄存器,但是这个结构是什么:0x1c(%ebp)?我从objdump中得到了这个代码。

最佳答案

它是众多x86addressing modes之一。具体来说,这被称为“流离失所”问题。
因为您说过您使用了objdump,并且没有指定您使用了-M标志,所以我将在GAS syntax中假设这一点(与Intel syntax相反)。这意味着第一个操作数是源操作数,第二个操作数是目标操作数。
lea 0x1C(%ebp),%eax指令表示,“取%ebp中的值,加上0x1c(十进制28),然后将该值存储在%eax中”。

08-27 08:57