3

lea 0x4(%esp),%ecx在 at&t 装配中是什么意思?

究竟是0x4(%esp)什么?

4

3 回答 3

3

%esp + 0x4

LEA代表加载有效地址。在这种情况下,这是一个简单的添加,如上所示。通常,人们和编译器不再真正使用它,因为 CPU 现在带有一个漂亮的地址生成单元(也称为 AGU),它允许您使用各种花哨的算术从寄存器和值计算地址。简而言之,无论你用 做什么lea,你现在都可以将它嵌入到任何其他指令中。

于 2010-08-13T23:01:46.757 回答
2
lea ecx,[esp+4]
于 2010-08-13T23:08:40.727 回答
1

esp是堆栈指针。0x4 是偏移量。AT&T 语法有,command source, destination这里的命令LEA是“加载有效地址”。

所以我们告诉 CPU 将地址“堆栈指针 + 4”加载到寄存器“ecx”中

于 2010-08-13T23:13:46.787 回答