C 将地址放入寄存器

C 将地址放入寄存器,c,assembly,x86-64,C,Assembly,X86 64,有没有办法弹出堆栈顶部的地址而不是内容?我想把地址输入寄存器,以后用它来操作程序。在AT&T语法中: leaq (%rsp), %rax 在英特尔语法中: leaq rax, [rsp] 或者任何你需要使用的寄存器rax仅作为示例提供。lea命令将指定的地址加载到寄存器中,而不是加载内容。有关详细信息,请参阅 您也可以使用一个简单的mov: mov %rsp, %rax 或 如果需要实际修改堆栈指针,只需添加必要的字节数即可 mov rax, rsp

有没有办法弹出堆栈顶部的地址而不是内容?我想把地址输入寄存器,以后用它来操作程序。

在AT&T语法中:

leaq (%rsp), %rax
在英特尔语法中:

leaq rax, [rsp]
或者任何你需要使用的寄存器<代码>rax仅作为示例提供。
lea
命令将指定的地址加载到寄存器中,而不是加载内容。有关详细信息,请参阅

您也可以使用一个简单的
mov

mov %rsp, %rax

如果需要实际修改堆栈指针,只需添加必要的字节数即可

mov rax, rsp