gpt4 book ai didi

assembly - 可以始终使用 "mov eax, 0x1"代替 "mov rax, 0x1"吗?

转载 作者:行者123 更新时间:2023-12-04 15:01:53 27 4
gpt4 key购买 nike

使用 nasm 组装此代码时:

BITS 64
mov eax, 0x1
mov rax, 0x1

我得到这个输出:
b8 01 00 00 00 b8 01 00 00 00

这是 mov eax, 0x1 的操作码重复了两次。

这是否意味着 mov rax, 0x1可以 总是 替换为 mov eax, 0x1还是只是在这种情况下?

如果这是正确的,使用以下方法不是更好:
xor rax, rax
inc rax

因为在 mov eax, 0x1 组装时变成了 6 个字节只有 5 个字节吗?

最佳答案

总是。大多数(如果不是全部)32 位 MOV 和 ALU 操作清除目标寄存器操作数的第 32 到 63 位。有关详细信息,请参阅 CPU 手册。

关于assembly - 可以始终使用 "mov eax, 0x1"代替 "mov rax, 0x1"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11822646/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com