我在 64 位处理器上使用 GNU 程序集。我组装了以下代码
“movq %rsp,%rax”
之后,我对二进制代码执行 objdump。 我得到了以下信息:
401000:48 89 e0 移动%rsp,%rax
我以为我会看到二进制的 8 字节指令,因为我的处理器是 64 位,但只有 3 字节指令。
当CPU解码3字节指令时,它会被填充到8字节指令中吗? 前任) 48 49 e0 -> 48 49 e0 00 00 00 00 00
谢谢:) 我希望你能理解我蹩脚的英语......