通用寄存器
数据寄存器分为:
DH&DL=DX(data):
数据寄存器,常用于数据传递。
SP(Stack Pointer):
堆栈指针,与SS配合使用,可指向目前的堆栈位置
指令指针IP
指令指针IP是一个16位专用
寄存器,它指向当前需要取出的指令
字节,当BIU从
内存中取出一个指令字节后,IP就自动加(取出该字节的长度,如:BIU从内存中取出的是1个字节,IP就会自动加1,如果BIU从内存中取出的字节数长度为3,IP就自动加3),指向下一个指令字节。注意,IP指向的是
指令地址的段内地址
偏移量,又称
偏移地址(Offset Address)或
有效地址(EA,Effective Address)。
标志寄存器
8086有一个16位的标志性
寄存器FR,在FR中有意义的有9位,其中6位是状态位,3位是控制位。
标志寄存器(Flags Register,FR)又称
程序状态字(Program Status Word,PSW)。这是一个存放条件标志、控制
标志寄存器,主要用于反映处理器的状态和运算
结果的某些特征及控制
指令的执行。
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
OF | DF | IF | TF | SF | ZF | AF | PF | CF |
IF:中断允许标志IF位用来决定CPU是否响应CPU外部的
可屏蔽中断发出的
中断请求。但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的
中断请求,以及CPU内部产生的
中断请求。具体规定如下:
(2)、当IF=0时,CPU不响应CPU外部的
可屏蔽中断发出的中断请求。
(2)如果TF=0,则处于连续工作模式。
SF:
符号标志SF用来反映运算
结果的符号位,它与运算结果的最高位相同。在
微机系统中,
有符号数采用补码表示法,所以,SF也就反映运算
结果的正负号。运算
结果为非负数时,SF的值为0,否则其值为1。当运算
结果没有产生溢出时,运算结果等于逻辑结果(即应该得到的正确的结果),此时SF表示的是逻辑结果的正负,当运算结果产生溢出时,运算结果不等于逻辑结果,此时的SF值所表示的正负情况与逻辑结果相反,即:SF=0时,逻辑结果为负,SF=1时,逻辑结果为非负。
AF:( Assistant Carry Flag)下列情况下,
辅助进位标志AF的值被置为1,否则其值为0:
(1)、在字操作时,发生低
字节向高字节进位或借位时
(2)、在
字节操作时,发生低4位向高4位进位或借位时。
PF:奇偶标志PF用于反映运算
结果中“1”的个数的奇偶性。如果“1”的个数为偶数,则PF的值为1,否则其值为0。
段寄存器
DS(Data Segment):数据
段寄存器
ES(Extra Segment):附加
段寄存器。