8086寄存器

段寄存器

为了运用所有的内存空间,8086设定了四个段寄存器,专门用来保存段地址:

CS(Code Segment):代码段寄存器

DS(Data Segment):数据段寄存器

SS(Stack Segment):堆栈段寄存器

ES(Extra Segment):附加段寄存器。

通用寄存器

有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个).

数据寄存器分为:

AH&AL=AX(accumulator):累加寄存器,常用于运算;在乘除等指令中指定用来存放操作数,另外,所有的I/O指令都使用这一寄存器与外界设备传送数据。

BH&BL=BX(base):基址寄存器,常用于地址索引

CH&CL=CX(count):计数寄存器,常用于计数;常用于保存计算值,如在移位指令,循环(loop)和串处理指令中用作隐含的计数器.

DH&DL=DX(data):数据寄存器,常用于数据传递。

指针寄存器及变址寄存器

SP(Stack Pointer):堆栈指针,与SS配合使用,可指向目前的堆栈位置

BP(Base Pointer):基址指针寄存器,可用作SS的一个相对基址位置

SI(Source Index):源变址寄存器,可用来存放相对于DS段之源变址指针

DI(Destination Index):目的变址寄存器,可用来存放相对于ES 段之目的变址指针。


标志寄存器

8086有一个16位的标志性寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。

指令指针IP


指令指针IP是一个16位专用寄存器,它指向当前需要取出的指令字节,当BIU从内存中取出一个指令字节后,IP就自动加(取出该字节的长度,如:BIU从内存中取出的是1个字节,IP就会自动加1,如果BIU从内存中取出的字节数长度为3,IP就自动加3),指向下一个指令字节。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章