GNU 汇编。 “Movq %rsp, %rax”被汇编成仅 3 字节的二进制文件。不是8字节。为什么?

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

我在 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

谢谢:) 我希望你能理解我蹩脚的英语......

assembly gnu
© www.soinside.com 2019 - 2024. All rights reserved.