热门问题
时间线
聊天
视角
状态暂存器
来自维基百科,自由的百科全书
Remove ads
状态暂存器(status register)或旗标暂存器(flag register)是中央处理器中集合许多状态旗标位元的暂存器。这类的暂存器像是X86架构的FLAGS暂存器、IBM System/360架构透过z/Architecture的程序状态字(PSW),以及ARM Cortex-A架构里的应用程式状态暂存器(application program status register, APSR)[1]。
状态暂存器是包括中央处理器状态资讯的硬体暂存器。其个别位元可以直接用机器语言指令读写,或是用其他方式读取或修改其值。状态暂存器让一个指令可以依照上一个指令动作后的结果进行动作。
一般来说,有些状态暂存器的位元会随运算或是位元处理的结果而变化。例如,若输出结果为0,会设定Z旗标,若输出结果不为0,会清除Z旗标。其他指令也可能变更旗标的结果。一些条件判断指令也会读取位元状态,以决定是否要执行后续动作(跳跃、呼叫副程式、副程式返回等)。
有些CPU架构(像是MIPS架构和DEC Alpha)没有专用的状态暂存器。有些架构不会隐式的读写旗标,有些则是用显式指定的通用暂存器完成此工作。
状态暂存器也会有其他的栏位,例如专用旗标、中断始能旗标等。呼叫中断时,会将目前执行绪的状态暂存器、程式计数器和其他暂存器存到呼叫堆叠中,以记录中断前的状态,中断结束后再回到该位置继续执行。
Remove ads
常用旗标
以下是最常见的CPU状态旗标。
其他旗标
以下是一些处理器要有的旗标:
Remove ads
相关条目
参考资料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads