我用一个网站来编码这个:
movw $8, 4(%r8d,%esi,4)
并得到:
encoding (hex): 67 66 41 C7 44 B0 04 08 00
多亏了你,我几乎明白了一切,除了 2 个小点:
- 在这里,我们将 2 字节立即移动到 4 字节地址。他们使用 C7 操作码,根据我的表,我的意思是以下之一:
- 将 imm16 移动到 r/m16
- 将 imm32 移动到 r/m32
- mov imm32(符号扩展)到 r/m64
为什么没有匹配?
- 为什么立即数是 2 个字节?根据什么?