2009-05-21 63 views

回答

22

C和D是数字/类型,H表示高位,H表示高位寄存器的低位部分。 http://en.wikipedia.org/wiki/X86

维基百科解释得非常好。

从维基百科更多:

  1. AX/EAX/RAX:累加器
  2. BX/EBX/RBX:碱
  3. CX/ECX/RCX:计数器
  4. DX/EDX/RDX : 数据/一般
+4

欲了解更多的历史和解释:http://www.swansontec.com/sregisters.html – rmmh 2013-01-25 00:16:29

+0

@Daniel,你错过了ESI,EDI,EBP等 – Pacerier 2017-05-17 16:59:17

18

Something i found

* EAX - Accumulator Register 
* EBX - Base Register 
* ECX - Counter Register 
* EDX - Data Register 
* ESI - Source Index 
* EDI - Destination Index 
* EBP - Base Pointer 
* ESP - Stack Pointer 
17

这是历史。 x86来自8086,8080来自8008,它来自4004.有16位寄存器AX,BX等,而80386则被“扩展”为32位。

补充:顺便说一下,摩托罗拉68K从一开始就拥有32位寄存器,所以在开始的几十年里编程变得更容易。我曾参与那些因为商业原因选择英特尔而非技术的项目。

+0

历史ISN不连续--8080具有不同的寄存器名称,并且这些名称与8086一起出现。值得注意的是,在这里,具有专用寄存器的CISC架构在8086和8080两种版本中都有说明 - 尽管RISC后来出现了,所有的寄存器都是相同的方法(每条指令有32位,而不是试图将大多数指令编码为8位)。 – ijw 2012-09-16 00:28:02

3

较旧的处理器具有名为A,B等的累加器(按字母顺序排列)。当开发16位和32位累加器时,工程师添加了X(扩展)。所以它的全部关于历史,因为语言C被称为这种方式,因为它是从B语言(贝尔实验室)发展而来的。

约定只是内部的,以跟上他们熟悉的名字。