问题 REX.B覆盖是否适用于MOVSS指令?


我正在为64位x86生成以下指令:

41 F3 0F 10 46 10       movss   XMM0,014h[R14]

不幸的是,它在该行上出现故障。 gdb将其反汇编为:

0x0000000000402054 <+320>:   rex.B
0x0000000000402055 <+321>:   movss  0x14(%rsi),%xmm0

请注意,无法识别rex.B覆盖,索引是RSI而不是R14。

指令无效吗?在AMD 64位指令参考中,我找不到任何迹象表明此编码无效。

objdump也未能将其识别为有效指令:

41                      rex.B
f3 0f 10 46 10          movss  0x10(%rsi),%xmm0

这里发生了什么?


1323
2018-01-30 03:24


起源



答案:


最后,我弄明白了。对于此指令,rex字节为第二个,如:

F3 41 0F 10 46 10

14
2018-01-30 05:38