lea 0x1c(%ebp),%eax
所以,我模糊地理解 lea 指令的作用,我知道那些是寄存器,但是这个结构是什么:0x1c(%ebp)
?我从 objdump 中得到了这段代码。
最佳答案
它是众多 x86 addressing modes 之一.具体来说,这称为“位移”寻址。
既然你说你使用了 objdump 并且没有指定你使用了 -M
标志,我将在 GAS syntax 中假设这一点(与 Intel syntax 相对)。这意味着第一个操作数是源,第二个操作数是目标。
lea 0x1C(%ebp),%eax
指令的意思是,“取 %ebp 中的值,加上 0x1C(十进制的 28),然后将该值存储在 %eax 中”。
关于linux - 十六进制数,括号中的寄存器在汇编中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31735903/