当前位置首页 > 百科资料> 正文

状态寄存器

2022-07-11 02:29:31 百科资料

状态寄存器又名条件码寄存器,它是计算机系统的核心部件--运算器的一部分,状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位(CF位)、有无溢出(OV位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等;另一类是存放控制信息(PSW:程序状态字寄存器),如允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。

  • 中文名称 状态寄存器
  • 外文名称 status register
  • 别名 条件码寄存器
  • 性质 寄存器
  • 有些机器中 将PSW称为标志寄存器

  定义

  PSW标志位定义:

  PSW是一个8位二进制寄存器,用来存放指令招待后的有关CPU的状态,通常由CPU来填写,但是用户也可以改变各状态位的值。各标志位定义如下所示:

  Bit7 Cy

  Bit6 AC

  Bit5 F0

  Bit4 RS1

  Bit3 RS0

  Bit2 OV

  Bit1 -

  Bit0 P

  ARM中的程序状态寄存器

  在ARM中有6个状态寄存器,ARM7TDMI内核包含1个CPSR和5个供异常处理程序使用的SPSR。CPSR反映了当前处理器的状态,其包含:

  4个条件代码标志(负(N)、零(Z)、进位(C)和溢出(V) );

  2个中断禁止位,分别控制一种类型的中断;

  5个对当前处理器模式进行编码的位;

  1个用于指示当前执行指令(ARM还是Thumb)的位。

  PSW各标志位解释:

  1. CY(Carry): 用于表示加法运算中的进位和减法运算中的借位,加法运算中有进位或减法运算中有借位则CY位置为1,否则为0

  2. AC(Auxiliary Carry): 与CY基本相同,不同的是低4位与高4位间的运算。

  3.F0(Flag Zero用户标志位): 该位是用户根据自己的需要而自己设定的标志位,用户可以通过设置该位来决定程序的流向和分支。

  4. RS1,RS0: 8051有8个8位工作寄存器R0~R7,它在RAM中的实际物理地理可以根据需要来选择确定。 00:00H~07H

  01:08H~0FH

  10:10H~17H

  11:18H~1FH

  5.OV: 表示运算过程中是否发生了溢出,若结果超过了8位二进制数所能表示数据的范围即有符号数-128~+127,则标志位置1。

  6.OP: 奇偶标志位用来指示运算结果中1的个数的奇偶性,若P=0,则累加器A中1的个数为偶数;若P=1,则累加器A中1的个数为奇数。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net