[From]
AX/EAX: 累加器,算术通用寄存器,与端口的通讯也用这个寄存器.
BX/EBX: 基址寄存器.
CX/ECX: 计数器,结合串处理指令使用.
DX/EDX: 算术通用寄存器.和累加器结合表示双字长的数,其中累加器用于存低位数.
[From]http://blog.csdn.net/huangwei1024/archive/2007/01/29/1496560.aspx
2.1 寄存器组
寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。
寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。
另外,由于寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度。根据指令的要求,如何安排适当的寄存器,避免操作数过多的传送操作是一项细致而又周密的工作。有关“寄存器的分配策略”在后续课程《编译原理》中会有详细的介绍。
由于16位/32位CPU是微机CPU的两个重要代表,所以,在此只介绍它们内部寄存器的名称及其主要功能。
1、 16位寄存器组
16位CPU所含有的寄存器有(见图2.1中16位寄存器部分):
4个数据寄存器(AX、BX、CX和DX)
2个变址和指针寄存器(SI和DI)
2个指针寄存器(SP和BP)