我在哪里可以找到x86寄存器名称?

时间:2011-02-26 07:46:18

标签: assembly cpu-registers

哪里可以找到80x86注册的全名? 我知道EAX意味着扩展AX。

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

3 个答案:

答案 0 :(得分:9)

过去40年来,注册名称已经发生了变化。 1974年引入的英特尔8080处理器有8位寄存器,分别命名为A,B,C,D,E,H和L.通过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位变体寄存器,80386名称仍然存在对于(较低的)16位和8位访问以保持可共同性。

直到AMD将英特尔推向市场,定义64位扩展才有所作为。

值得注意的是,为8086处理器组装的二进制代码与所有成功的X86处理器兼容。

参考文献:

http://everything2.com/title/CPU+history%253A+A+timeline+of+microprocessors

http://en.wikipedia.org/wiki/Intel_8080

http://en.wikipedia.org/wiki/Intel_8086

http://en.wikipedia.org/wiki/Intel_80386

答案 1 :(得分:6)

答案 2 :(得分:0)

可以在Intel Processor Manuals中找到x86架构所有方面的规范参考。寄存器文档有点分散,但您可以在以下位置找到它们:

  • 第1卷 - 第3.4节中的通用寄存器; FPU在8.1.2中注册; MMX在9.2.2中注册; SSE在10.2.2,10.2.3中注册
  • 第3A卷 - 系统寄存器(2.1.6);另见该部分的交叉引用。