2

在哪里可以找到 80x86 寄存器全名?我知道 EAX 意味着扩展 AX。

那么,AX 的含义是什么?即 AX 是首字母缩略词吗?

4

3 回答 3

16

寄存器名称在过去 40 年中不断演变。1974 年推出的 Intel 8080 处理器有 8 位寄存器,分别命名为 A、B、C、D、E、H 和 L。A 到 E 似乎相当明显,但 H 和 L?嗯,它们被组合成一个 16 位的 HL 寄存器,主要用作内存指针,所以 H 表示高电平,L 表示低电平。

1979 年,英特尔发布了 8086 处理器(最初的 IBM PC 基于其近亲 8088)。8086 有 16 位寄存器,4 个“主”寄存器和 4 个索引寄存器。主要寄存器称为 AX、BX、CX、DX,是 8080 的 A 到 D 的自然扩展,它们中的每一个也可以称为两个 8 位寄存器,称为 AL、AH、BL、BH 等。 8086变址寄存器,也是16位,在其主要功能之后被称为SI、DI、BP和SP。SI 和 DI 表示源和目标索引,SP 表示堆栈指针,BP 表示(堆栈)基指针。

对 32 位世界的扩展,随着 1986 年 80386 的推出,为我们带来了 EAX、EBX、ECX、EDX、ESI、EDI、EBP 和 ESP,寄存器的 32 位变体,8086 的名称仍然用于保持兼容性所需的(低)16 位和 8 位访问。

直到 AMD 在市场上击败英特尔,定义 64 位扩展之前,情况一直如此。

有趣的是,为 8086 处理器组装的二进制代码与所有继承它的 x86 处理器兼容。

参考:

于 2011-02-26T08:26:23.233 回答
9

英特尔寄存器名称和含义

于 2011-02-26T07:54:01.617 回答
0

x86 体系结构所有方面的规范参考可以在英特尔处理器手册中找到。注册文档有点分散,但您可以在以下位置找到它们:

  • 第 1 卷 - 第 3.4 节中的通用寄存器;8.1.2 中的 FPU 寄存器;9.2.2 中的 MMX 寄存器;SSE 在 10.2.2、10.2.3 中注册
  • 第 3A 卷 - 系统寄存器 (2.1.6);另见该部分的交叉引用。
于 2011-02-26T08:10:00.523 回答