gpt4 book ai didi

assembly - x86架构中的 "EU"是什么? (计算有效地址?)

转载 作者:行者123 更新时间:2023-12-03 06:33:31 26 4
gpt4 key购买 nike

我在某处读到,x86 指令中的有效地址(如 LEA 指令)是由“EU”计算的。欧盟是什么?计算有效地址到底涉及什么?

我只了解了MC68k指令集(UC Boulder先教这个),在网上搜索也找不到好的x86网页。

最佳答案

英特尔自己的Software Developer's Manuals是有关 x86 的良好信息来源,尽管它们可能有点过头了(并且更像引用而不是教程)。

EU(执行单元)引用最有可能与 ALU(算术逻辑单元)形成对比,后者通常是处理器中负责算术和逻辑指令的部分。然而,欧盟也有(或曾经有)一些算术能力,用于计算内存地址。 x86 LEA 指令将这些功能传递给汇编程序员。

通常您可以向 x86 指令提供一些相当复杂的内存地址:

sub eax, [eax + ebx*4 + 0042]

当 ALU 处理算术减法时,EU 负责生成地址。

通过 LEA,您可以将有限的地址生成功能用于其他目的:

lea ebx, [eax + ebx*4 + 0042]

比较:

mul ebx, 4
add ebx, eax
add ebx, 0042

我链接的页面上的“卷 1”有一个部分“3.7.5”讨论寻址模式 - 您可以向需要内存操作数(其中 LEA 是其中之一)的指令提供什么样的内存地址,反射(reflect)了EU(或者无论内存接口(interface)部分被称为什么)能够进行什么样的算术。

“第 2 卷”是指令集引用,包含所有指令(包括 LEA)的明确信息。

关于assembly - x86架构中的 "EU"是什么? (计算有效地址?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/791798/

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