例如,累加器名为EAX
,而指令指针名为IP
。我也知道有一些名为CL
和DH
的字节。我知道所有名字都必须有一个约定,但它是什么?
答案 0 :(得分:23)
C和D是数字/类型,H表示高电平,L表示高电平寄存器的低电平部分。 http://en.wikipedia.org/wiki/X86
维基百科解释得非常好。
来自维基百科的更多内容:
答案 1 :(得分:19)
* EAX - Accumulator Register
* EBX - Base Register
* ECX - Counter Register
* EDX - Data Register
* ESI - Source Index
* EDI - Destination Index
* EBP - Base Pointer
* ESP - Stack Pointer
答案 2 :(得分:17)
这是历史。 x86来自8086,它来自8080,它来自8004,来自4004.有16位寄存器AX,BX等,而对于80386,它们被“扩展”到32位。
补充:BTW摩托罗拉68K从一开始就拥有32位寄存器,因此在最初的几十年内编程要容易得多。我参与的项目是出于商业原因选择英特尔,而不是技术原因。
答案 3 :(得分:5)
答案 4 :(得分:3)
旧处理器具有名为A,B等的累加器(按字母顺序排列)。当开发16位和32位累加器时,工程师增加了X(扩展)。所以关于历史,因为语言C被称为这样,因为它是从B语言(贝尔实验室)开发的。
该惯例只是内部的,以跟上他们熟悉的名称。