寄存器(英文register)是CPU内部用来暂存指令、数据、地址的元件。理解寄存器是理解计算机运行原理和掌握汇编语言的基础环节。
从寄存器的用途来看,可分为数据寄存器(eax、ebx、ecx、edx)、指针寄存器(esi、edi、ebp、esp、eip)、段寄存器(cs、ss、ds、es、fs、gs)和标志寄存器(eflags)等4类。
一、数据寄存器
数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。
32位CPU有4个32位的数据寄存器:eax、ebx、ecx和edx。
eax通常称为累加寄存器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、除、输入/输出等操作,它们的使用频率很高;
ebx称为基地址寄存器(Base Register)。常作为存储器指针来使用;
ecx称为计数寄存器(Count Register)。在循环和字符串操作时,要用它来控制循环次数;在位操作中,当移多位时,要用CL来指明移位的位数;
edx称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算,也可用于存放I/O的端口地址。
相比16位寄存器,32位寄存器中的eax、ebx、ecx和edx不仅可传送数据、暂存数据保存算术逻辑运算结果,而且也可作