程序状态字(Program Status Word,PSW),也称为状态寄存器,主要用于 反映处理器的状态及某些计算结果,以及控制指令的执行。它是一个保存各种状态条件标志的寄存器,包括算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等。此外,程序状态字还用来保存中断和系统工作状态等信息,以便CPU和系统及时了解机器运行状态和程序运行状态。
因此,程序状态字是一个非常重要的寄存器,它提供了关于处理器当前状态和运行情况的详细信息,包括:
CPU的工作状态码:
指明当前是在管态(操作系统模式)还是目态(用户模式),从而决定是否可以执行特权指令或其他特殊权限的操作。
条件码:
反映指令执行后的结果特征,如运算是否溢出、结果是否为零、结果是否为负等。
中断屏蔽码:
指出是否允许中断,以便在需要时控制中断的处理。
其他状态位:
包括程序计数器、处理器状态位等,用于指示当前程序的执行位置和状态。
综上所述,程序状态字是一个综合性的寄存器,用于保存和控制处理器在执行过程中的各种状态和结果,是操作系统和应用程序中不可或缺的一部分。