1
有没有办法弹出堆栈顶部的地址而不是内容?我想把地址写入一个寄存器,然后用它来操作程序。将地址弹入一个寄存器
有没有办法弹出堆栈顶部的地址而不是内容?我想把地址写入一个寄存器,然后用它来操作程序。将地址弹入一个寄存器
在AT & T语法:
leaq (%rsp), %rax
在Intel语法:
leaq rax, [rsp]
或任何注册,您需要使用。 rax
仅作为示例提供。 lea
命令将地址加载到寄存器中,而不是内容。欲了解更多信息,请参阅What's the purpose of the LEA instruction?
你也可以用做一个简单的mov
:
mov %rsp, %rax
或
mov rax, rsp
如果您需要实际修改堆栈指针,你可以简单地添加它需要的字节数。