这些push r16编码在64BIT模式下正确吗?

问题描述 投票:0回答:0

关于Intel x86_64 CPU 64BIT模式下的push wordregister(r16)。

在 B-28,卷。二维, 附录 B,指令格式和编码, 英特尔综合手册 PDF, 订单号:325462-080US,2023 年 6 月。

表 B-15。 64 位模式的通用指令格式和编码(续)

我认为正确的是0110_0110 (0x66)。但它是 0101_0101 (0x55)。 0x66 是一个操作数大小前缀,当 cpu 处于 64 位模式时,它将操作数大小更改为 16 位。 但我不知道0x55前缀。

另外,没有push imm64指令, 根据 如何在 NASM 中推送 64 位 int?.

encoding x86-64 cpu intel machine-code
© www.soinside.com 2019 - 2024. All rights reserved.