内部寄存器含14个16位寄存器,按功能可分为三类:8个通用寄存器、4个段寄存器、2个控制寄存器。
通用寄存器:包括(数据寄存器、地址指针寄存器、变址寄存器)
1.数据寄存器(AX,BX,CX,DX)可以分别拆开两个8位寄存器,例:AX---AH和AL
AX:累加器,所有I/O指令都通过AX与接口传送信息,中间运算结果也多放于AX中。AX中的十六位数全都是存放的数据。
BX:基址寄存器,在间接寻址中用于存放基地址。BX中的十六位数可能是运算数据也可能是数据存放的地址
CX:计数寄存器,用于在循环或事操作指令中存放计数值。
DX:数据寄存器,在间接寻址的I/O指令中存放I/O端口地址;在32位乘除法运算时,存放高16位数
如果是8位寄存器中,只会是运算的数据,绝不可能是地址,因为16体系结构CPU,地址最短也是16位的
2.地址指针寄存器(SP,BP)
SP:堆栈指针寄存器,其内容位栈顶的偏移地址。只要有堆栈存在,SP一定被专用
BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。
BX表示所寻找的数据在数据段,BP表示数据在堆栈段
3.变址寄存器(SI,DI)
SI:源变址寄存器
DI:目标变址寄存器
这两个可以是运算的数据也可以是存放数据的地址
变址寄存器在指令中常用于存放数据在内存中的地址
控制寄存器
IP:指令指针寄存器,其内容为下一条要取的指令的偏移地址。
FLAGS:标志寄存器,存放运算结果的特征
6个状态标志位(CF,SF,AF,PF,OF,ZF)
CF:进位标志位。加减法运算时,若最高位有进借位则CF=1
OF:溢出标志位,当算数运算的结果超出了有符号数的可表达范围时,OF=1
ZF:零标志位,当运算结果为零时ZF=1
SF:符号标志位,当运算结果的最高数为1时,SF=1
PF:奇偶标志位,运算结果的低8位中“1”的个数为偶数时PF=1
AF:辅助进位标志位,加减操作中,若Bit3向Bit4有进位(错位),AF=1
3个控制标志位(IF,TF,DF),表示处理器目前的工作状态的
TF:陷阱标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式
IF:中断允许编制为。IF=1使CPU可以响应可屏蔽中断请求
DF:方向标志位。在数据事操作时群顶操作的方向。
段寄存器
作用:用来存放相应逻辑段的段基地址
代码段------存放指令代码 CS代码段寄存器,存放代码段的段基地址
数据段------存放操作的数据 DS数据段寄存器,存放数据段的段基地址
附加段------存放操作的数据 ES附加段寄存器,存放数据段的段基地址
堆栈段------存放暂时不用但需要保存的数据 SS堆栈段寄存器,存放堆栈段的段基地址