x64 弹出指令(操作码 + rd)

Posted

技术标签:

【中文标题】x64 弹出指令(操作码 + rd)【英文标题】:x64 pop instructions (opcode + rd) 【发布时间】:2015-04-15 21:59:15 【问题描述】:

以下是使用 intel x64 手册第 1159 页上的快捷操作码的弹出指令:

58+ rw POP r16 Pop top of stack into r16; increment stack
pointer.

58+ rd POP r64 Pop top of stack into r64; increment stack
pointer.

这些指令是使用 Rex.R 或 Rex.B 对寄存器 9-16 进行编码,还是只是添加到操作码中? 64 位版本也使用 Rex.W 吗?我以前从未遇到过这些注册快捷指令。

【问题讨论】:

【参考方案1】:

将寄存器操作数编码为操作码一部分的指令使用 REX.B 字段来访问寄存器 r8 等。

64 位推送和弹出不需要 REX.W,它们默认为 64 位,无法将它们设为 32 位。它们可以通过使用 66h 前缀制成 16 位。

【讨论】:

没有你哈罗德我该怎么办!谢谢!!

以上是关于x64 弹出指令(操作码 + rd)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angularjs 中使用 3rd 方登录来处理身份验证

弹出操作后数据是不是保留在堆栈中?

以太坊虚拟机介绍2-栈操作指令

怎么查看x64 x86

以太坊虚拟机介绍4-按位运算指令

X64 反汇编程序 IDA 和 WINDBG。 IDA 不显示 x64 操作码