热门问题
时间线
聊天
视角

状态寄存器

来自维基百科,自由的百科全书

Remove ads

状态寄存器(status register)或旗标寄存器(flag register)是中央处理器中集合许多状态旗标比特的寄存器。这类的寄存器像是X86架构的FLAGS寄存器英语FLAGS register (computing)IBM System/360架构英语IBM System/360 architecture透过z/Architecture英语z/Architecture程序状态字(PSW),以及ARM Cortex-A英语ARM Cortex-A架构里的应用程序状态寄存器(application program status register, APSR)[1]

状态寄存器是包括中央处理器状态信息的硬件寄存器。其个别比特可以直接用机器语言指令读写,或是用其他方式读取或修改其值。状态寄存器让一个指令可以依照上一个指令动作后的结果进行动作。

一般来说,有些状态寄存器的比特会随运算或是比特处理的结果而变化。例如,若输出结果为0,会设置Z旗标,若输出结果不为0,会清除Z旗标。其他指令也可能变更旗标的结果。一些条件判断指令也会读取比特状态,以决定是否要执行后续动作(跳跃、调用副程序、副程序返回等)。

有些CPU架构(像是MIPS架构DEC Alpha)没有专用的状态寄存器。有些架构不会隐式的读写旗标,有些则是用显式指定的通用寄存器完成此工作。

状态寄存器也会有其他的字段,例如专用旗标、中断始能旗标等。调用中断时,会将目前线程的状态寄存器、程序计数器和其他暂存器存到调用堆栈中,以记录中断前的状态,中断结束后再回到该位置继续执行。

Remove ads

常用旗标

以下是最常见的CPU状态旗标。

更多信息 旗标, 名称 ...

其他旗标

以下是一些处理器要有的旗标:

更多信息 旗标, 名称 ...
Remove ads

相关条目

参考资料

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads