标志寄存器(FLAGS,PSW,FR)简介

标志寄存器简介

8086CPU中设立了一个两字节的标志寄存器,有9个标志位,其中6个用来表示运算结果的状态包括CF、PF、AF、ZF、SF、OF,称为状态标志位,另外3个是控制标志位,用来控制CPU的操作,包括IF、DF和TF。
各标志位的定义说明如下:

CF(Carry Flag)–进位标志位

如果做加法时最高位(字节操作是D~2~位,字操作是D~15位)产生进位或做减法时最高位产生借位,则CF=1,否则CF=0。

PF(Parity Flag)–奇偶标志位

如果操作结果的低八位中含有偶数个1,则PF=1,否则PF=0。

AF(Auxiliary Flag)–辅助进位标志位

如果做加法时D~3~位有进位或者做减法是时D~3~位有借位,则AF=1,否则AF=0。

ZF(Zero Flag)–零标志位

如果运算结果各位都为零,则ZF=1,否则ZF=0。

SF(Sign Flag)–符号标志位

如果运算结果的最高位(字节操作是D~7~位,字操作是D~15~位)为1,则SF=1,否则SF=0。

OF(Overflow Flag)–溢出标志位

在加法和减法运算中结果超出8位或者16位有符号数所能表示的数值范围时,产生溢出,OF=1,否则OF=0。

IF(Interrupt Flag)–中断标志位

可用指令设置。当IF=1时,CPU可响应可屏蔽中断请求;IF=0时,CPU不响应可屏蔽中断控制请求。

TF(Trap Flag)–单步标志位

假如TF=1,则CPU处于单步工作方式。在这种工作方式下,CPU每执行完一条指令就产生一次内部中断。在调试程序DEBUG中,T命令就是利用这种中断。

DF(Direction Flag)–方向标志位

在串处理指令中,若DF=0则表示串处理指令地址指针自动增量,即串操作由低地址向高地址进行;DF=1,则表示指针自动减量,即串操作由高地址向低地址进行。DF标志位可通过指令预置。

你可能感兴趣的:(微机原理及接口技术)