标志寄存器:FR寄存器有哪些标志位?

 2021-07-08 14:21    77  

  【解】标志寄存器:(1) 6个状态标志位的功能分别叙述如下:

CF(Carry Flag)——进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1标志寄存器;否则为0。

PF(Parity Flag)——奇偶标志位标志寄存器。
  该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。

AF(Auxiliary carry Flag)——辅助进位标志位。当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。
  

ZF(Zero Flag)——零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。

SF(Sign Flag)——符号标志位。它和运算结果的最高位相同。

OF(Overflow Flag)——溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。
  

(2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。

DF(Direction Flag)——方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。
  

IF(Interrupt enable Flag)——中断允许标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不响应外部中断。

注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。
  

TF(Trap Flag)——跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时,8086 CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。当该位复位后,CPU恢复正常工作。

指令寄存器和指令指针寄存器的区别是什么呢?

指令指针寄存器用英文简称为IP,它虽然也是一种指令寄存器,但是严格意义上和传统的指令寄存器有很大的区别。比如,指令指针寄存器内部放置的不会是指令,而是一个内存地址,这个内存地址从一个指令指向另一个指令,用计算机科学的语言来描述,它就是一个指针。在计算机工作的时候,CPU会从IP中获得关于指令的相关内存地址,然后按照正确的方式取出指令,并将指令放置到原来的指令寄存器中。完成这一项工作之后,指令指针寄存器会给自己进行加一的操作,即将工作指向下一步的操作,完成自己指针的效果。

本文标签:

原文链接:https://www.xgfox.com/bcrm/639.html

本文版权:如无特别标注,本站文章均为原创。