我在哪里可以找到80x86寄存器的全名?我知道EAX是扩展AX的意思。
那么,斧头的含义是什么呢?例如AX是缩写吗?
发布于 2011-02-26 15:54:02
Intel Register names and meaning
发布于 2011-02-26 16:26:23
寄存器名称在过去的40年中发生了变化。Intel8080处理器于1974年推出,其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,这是80年代A到D的自然eXtension,每个寄存器也可称为两个8位寄存器,称为AL、AH、BL、BH等。8086索引寄存器,也称为16位,在其主要功能之后称为SI、DI、BP和SP。SI和DI用于源和目标索引,SP用于堆栈指针,BP用于(堆栈)基指针。
随着1986年80386的引入,对32位世界的扩展为我们带来了EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP,寄存器的32位变体,8086名称保留为(较低) 16位和保持兼容性所需的8位访问。
在此之前,AMD击败了英特尔,定义了64位扩展。
有趣的是,为8086处理器汇编的二进制代码与它之后的所有x86处理器都兼容。
参考文献:
发布于 2011-02-26 16:10:01
在Intel Processor Manuals中可以找到x86体系结构所有方面的规范参考。寄存器文档有点分散,但您可以在以下位置找到它们:
https://stackoverflow.com/questions/5125729
复制相似问题