gpt4 book ai didi

assembly - 汇编指令如何区分寄存器、内存地址、立即值或偏移参数?

转载 作者:行者123 更新时间:2023-12-04 02:10:48 24 4
gpt4 key购买 nike

我一直在想,是否有一些不可见的操作码或标志或任何告诉汇编指令如何处理其参数的东西?我有点困惑,因为显然同一条指令可以使用不同类型的操作数 - 支持寄存器、内存地址、偏移量和立即值。

汇编程序的“文本表示”似乎没有任何额外的细节,但二进制文件中可能存在差异,例如一些位被切换,以便 CPU 知道使用了哪种类型的操作数?

最佳答案

指令在硬件中编码。这是如何精确完成的是特定于 CPU 的。在 x86 架构上,您有一些位定义操作数寻址模式。有关详细信息,您应该引用英特尔程序员引用手册,其中对此进行了详细解释。

有时会有不同操作码但效果相同的指令,在这种情况下,汇编程序可以选择一个。

http://www.sandpile.org/x86/opc_rm.htm

关于assembly - 汇编指令如何区分寄存器、内存地址、立即值或偏移参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18148799/

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