寄存器(Register),是中央处理器内的其中组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。
这里说的是16位寄存器。寄存器的内部给构都相同,只不过是一个二字节或一字节的存储空间,别看他们小,作用可大了,所有电脑的运算,都要从他们过关,因为他们的处理速度快嘛.为了区分和准确运用,就要给他们进行科学的分组和起名.
第一组,数据寄存器,AX,BX,CX,DX.
AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据.
BX(base):基址寄存器,常用于地址索引
CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.
DX(data):数据寄存器,常用于数据传递。
他们的特点是,这4个16位的寄存器可以分为高8位: AH, BH, CH, DH.以及低八位:AL,BL,CL,DL。这2组8位寄存器可以分别寻址,并单独使用。
第二组,地址指示和变址寄存器,SI,DI,BP,SP.
它们用来表示一个地址偏移,或用来表示一个地址的变化状况.SI,DI表示变址。
BP,SP的P表示堆栈专用,BP表示基地址专用,SP则是堆栈顶指示器.
SP(Stack Pointer):堆栈指示器,与SS配合使用,可指向目前的堆栈位置
BP(Base Pointer):基址基址寄存器,可用作SS的一个相对基址位置
SI(Source Index):源变址寄存器,可用来存放相对于DS段之源变址指针
DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。
其中,BP,SI,DI还可以兼作数据寄存器. SP则只能和堆栈绑定。
这4个16位寄存器只能按16位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数的有效地址。
第三组,段寄存器,CS,SS,DS,ES.
它们用来存放CPU可以直接访问的四个当前段的段首地址.CS代码段,SS堆栈段,DS数据段,ES附加段.其中,在表示地址时,CS和指令指示器IP绑定使用,SS和BP绑定.DS为SI,DI,BX共用.
CS(Code Segment):代码段寄存器
DS(Data Segment):数据段寄存器
SS(Stack Segment):堆栈段寄存器
ES(Extra Segment):附加段寄存器
第四组,指令指示器
IP,这是CPU自动引用的,表示下一次要从主存取出的指令的偏移.