【发布时间】:2021-07-31 19:23:14
【问题描述】:
我用一个网站来编码这个:
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 个字节?根据什么?
【问题讨论】:
标签: assembly x86-64 att machine-code instruction-encoding