我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 指令寄存器 >

在80868088cpu中标志寄存器包含哪些标志位

归档日期:08-15       文本归类:指令寄存器      文章编辑:爱尚语录

  BIU负责CPU与存储器、外设之间的数据传送,包括存储器读写,I/O接口读写以及取指令。

  BIU由段寄存器(CS、DS、SS、ES)、指令指针寄存器(IP)、地址加法器、内部寄存器、指令队列缓冲器及I/O控制逻辑等部分组成。

  EU负责指令执行,它由通用寄存器组、专用寄存器组、算术逻辑运算单元(ALU)、标志寄存器(FR)和内部控制逻辑组成。

  从上可看出,BIU负责完成取指令与存取操作数,即CPU所有与外部总线有关的操作均由其完成。而EU则负责分析、执行指令,并不需与CPU外部总线直接发生联系,其所需的数据和所产生的结果都通过BIU接收或传送到外部总线。BIU与EU两个单元一起并行工作,使得取指令与执行指令的操作并行进行,从而大大提高了工作效率。

  图中的8086中共有4个16位的通用寄存器(AX、BX、CX、DX),4个16位的指针与变址寄存器(BP、SP、SI、DI),4个16位的段寄存器(CS、DS、SS、ES),一个指令指针寄存器(IP)及一个标志寄存器(PSW)。

  4个变址指针寄存器(SP、BP、SI、DI)中前两个称为“地址指针”,后两个称为“变址寄存器”。

  注:EU中设计了一个16位的标志寄存器,用来存放程序状态字PSW(Program Status Word)。PSW中一共定义了9个有效位。

  若设置DF=1,则串操作后,源和目的操作数的地址均向增址方向调整;若设置DF=0,则向减址方向调整。

  若设置IF=1,则允许CPU响应可屏蔽中断(开中断);若IF=0,则不允许CPU响应可屏蔽中断(关中断)。

  若设置TF=1,则将在CPU运行中设置陷井,此时,CPU每执行一条指令就产生一个单步中断,用户可以在中断服务中对当前指令的执行情况进行调试;若TF=0,表示不设置陷井。该标志主要用于程序的单步调试。

  OF 溢出标志(Overflow Flag)位。它反映有符号数的运算结果是否超出其所能表示的范围;字运算的范围为-32768——+32767,字节运算的范围为-128——+127。若OF=1,则表示结果溢出;OF=0,表示结果未溢出。注意,OF标志主要针对有符号运算。

  SF 符号标志(Sign Flag)位。它反映运算结果的最高有效位(MSB)为0、还是为1;对有符号运算来说,它反映了运算结果为正、还是为负。若SF=1,反映运算结果的最高有效位为1(或结果为负);若SF=0,则表示最高有效位为0(或结果不为负)。

  ZF 零标志(Zero Flag)位。反映运算结果是否为全0。若ZF=1,则表示运算结果为全0(各位均为0);若ZF=0,表示运算结果非全0(各位不全为0)。

  AF 辅助标志(Auxiliary Flag)位。该标志主要用于BCD码运算后的调整。它反映运算中低四位向前(即D3向D4)有无进位(针对加运算)或借位(针对减运算)。若AF=1,表示有进位或借位;若AF=0,表示无进位或借位。

  PF 校验标志(Parity Flag)位。反映运算结果中1的个数是否为偶数。若PF=1,表示运算结果中有偶数个1;若PF=0,表示结果中有奇数个1。

  CF 进位标志(Carry Flag)位。它反映运算中最高有效位(字运算时为D15、字节运算时为D7位)向前有无进位(针对加运算)或借位(针对减运算)。若CF=1,表示有进位或借位;若CF=0,表示无进位或借位。CF标志主要针对无符号运算。

本文链接:http://f-taiken.net/zhilingjicunqi/664.html