gpt4 book ai didi

assembly - x86_64 - 编码 mov 指令

转载 作者:行者123 更新时间:2023-12-04 02:06:27 25 4
gpt4 key购买 nike

编码 x86_64 指令 mov rcx,rdx(使用 https://defuse.ca/online-x86-assembler.htm)输出 48 89 D1

使用 this reference 检查操作码显示该字节序列如何对指令进行编码。

然而,该表中的下两行(操作码 8B)是一个非常相似的 mov 指令,但操作数的顺序颠倒了。
事实上,我可以使用 48 8b ca 对相同的指令进行编码(通过反编译验证)。

为什么两个操作码都存在?它们之间的差异是否超出了我的计算范围?什么时候会选择一个而不是另一个?

最佳答案

一个 modr/m 字节最多只能编码一个内存操作数。因此,在源或目标中支持内存操作数的所有指令都被编码两次,一次源可能是内存操作数,一次目标可能是内存操作数。当然,这意味着您可以对两个操作数都是寄存器两次的助记符进行编码。

关于assembly - x86_64 - 编码 mov 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43053688/

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