是否指定在x64上推送堆栈指针时会发生什么?

我在 x64 上用汇编编程,我打算在堆栈中推送一个地址。我打算编写push %rsp,但是,由于此指令更改了 的值%rsp,我不确定将推送什么值。

具体来说,如果我运行以下命令:

movq $0x10, %rsp
pushq %rsp

内存地址是否0x8包含0x100x8?这个处理器是依赖的​​还是所有 x64 处理器的标准?

回答

正如@Raymond Chen 在评论中提到的,它在英特尔的手册中指定,HTML 摘录在这里:https ://www.felixcloutier.com/x86/push 。

推送的值是指令%rsp 之前的值push

push mem涉及 RSP 的寻址模式相同,例如push 16(%rsp)复制堆栈中已有的内容。


以上是是否指定在x64上推送堆栈指针时会发生什么?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>