【总结】PSW(程序状态字)、FLAGS(标志寄存器)

对比维度 PSW(程序状态字,Program Status Word) FLAGS(标志寄存器,Flags Register)
核心定义 存储 CPU 当前运行状态的完整状态字,是反映程序执行状态和 CPU 控制状态的集合 存储算术逻辑运算(ALU)结果特征及部分 CPU 状态的寄存器,是 PSW 的核心组成部分
本质属性 一个状态字(数据结构),可由多个寄存器共同承载(部分架构中 PSW 是独立寄存器,本质仍为状态集合) 一个专用寄存器(硬件实体),直接由 CPU 硬件修改和访问
包含范围 范围广,包含以下 3 类核心信息:1. 标志位(即 FLAGS 寄存器的全部内容);2. 程序计数器(PC);3. 栈指针(SP);4. 中断屏蔽位(IM);5. 特权级(PL);6. 指令寻址模式等控制信息 范围窄,仅包含标志位,具体分为:1. 状态标志(ZF、SF、CF、OF、AF、PF);2. 控制标志(DF、IF、TF)(部分架构将控制标志归为 PSW 其他字段,408 默认 FLAGS 包含两类)
主要功能 1. 保存程序执行的完整上下文(支持进程切换、中断返回);2. 控制 CPU 的运行模式(如特权级、中断使能);3. 提供程序执行的状态反馈(通过包含的 FLAGS) 1. 记录算术逻辑运算结果的特征(如是否为零、是否溢出、是否有进位);2. 控制特定指令的执行行为(如 DF 控制串操作的地址递增 / 递减);3. 支持条件转移指令的判断依据
修改方式 1.硬件修改:中断发生、进程切换时,CPU 自动保存 / 恢复 PSW;2. 软件修改:通过特权指令(如 LMSW、SMSW)修改控制字段(如特权级、中断屏蔽位) 1. 硬件修改:算术逻辑运算(ADD、SUB、AND 等)、串操作指令自动修改状态标志;2. 软件修改:通过专用指令(如 CLC、STC、CLD、STD、CLI、STI)修改控制标志(状态标志一般不直接软件修改,需通过运算间接改变)
访问方式 一般通过特权指令访问,用户态程序不可直接读写(避免破坏系统状态) 1. 状态标志:用户态程序可通过指令间接读取(如 LAHF)或通过条件转移指令隐含使用;2. 控制标志:部分可由用户态指令修改(如 CLD、CLI),部分受特权级限制
408 考纲核心考点 1. PSW 的组成(标志位、PC、特权级等);2. PSW 在中断处理、进程切换中的作用(上下文保存与恢复);3. 特权指令与 PSW 的交互 1. 6 个状态标志(ZF、SF、CF、OF、AF、PF)的定义、计算规则;2. 3 个控制标志(DF、IF、TF)的功能;3. 标志位与条件转移指令的配合(如 JZ、JC、JO 等指令如何依据标志位跳转)
典型架构示例(408 常考) 1. 8086 架构:PSW 是 16 位寄存器(AX~DX 同级别),包含 FLAGS 的 16 位标志位(其中 9 位有效)+ 无 PC/SP(8086 中 PC、SP 是独立寄存器,PSW 仅含标志和部分控制字段);2. 通用架构:PSW 作为 "状态集合",整合 FLAGS、PC、特权级等,支持上下文切换 8086 架构:FLAGS 是 16 位寄存器,包含 6 个状态标志(ZF、SF、CF、OF、AF、PF)和 3 个控制标志(DF、IF、TF),是 PSW 的核心子集(408 真题常以 8086 架构为背景考查 FLAGS)

包含关系 :FLAGS 是 PSW 的核心子集,PSW 必须包含 FLAGS 的全部标志位,才能完整反映程序执行状态;

功能互补:FLAGS 负责 "微观状态反馈与指令控制"(如运算结果特征、串操作方向),PSW 负责 "宏观上下文管理与 CPU 控制"(如进程切换、特权级管理);

协同工作 :例如执行ADD A,B指令时,首先 CPU 通过 PSW 确认当前特权级(是否允许执行),运算后 FLAGS 自动修改状态标志(如 CF、ZF),最终 PSW 保存更新后的 FLAGS,为后续条件转移指令(如JC)提供判断依据。

常考查 "FLAGS 标志位计算"(如给定运算,判断 CF、OF 是否为 1)和 "PSW 在中断 / 进程切换中的作用",需重点区分二者的功能边界

408 考纲明确 FLAGS 包含状态标志和控制标志

相关推荐
程序员鱼皮17 小时前
女友怒骂国内不能用Claude Code,于是我给她做了一个
计算机·ai·程序员·大模型·互联网·编程
驱动探索者2 天前
[缩略语大全]之[编译器]篇
计算机·状态模式·飞书·编译器
驱动探索者2 天前
[缩略语大全]之[计算机图形学]篇
计算机·显示器·图形学·显示
程序员鱼皮3 天前
突发,快手被色情直播刷屏!背后的原因竟然是?
计算机·程序员·互联网·编程·事故
梁辰兴3 天前
计算机网络基础:以太网的 MAC 层
网络·计算机网络·macos·计算机·mac·以太网·梁辰兴
程序员鱼皮3 天前
从夯到拉,锐评 28 个后端技术!
后端·计算机·程序员·开发·编程经验
梁辰兴4 天前
计算机网络基础:局域网的数据链路层
网络·网络协议·计算机网络·计算机·数据链路层·局域网·梁辰兴
梁辰兴4 天前
计算机网络基础:以太网的信道利用率
服务器·网络·计算机网络·计算机·以太网·信道利用率·梁辰兴
躺柒4 天前
读人机沟通法则:理解数字世界的设计与形成01机器循环运行
人工智能·计算机·计算·数字世界·人机对话
加成BUFF7 天前
树莓派安装下载及远程连接(共用手机热点)(SSH)(VNC)
linux·计算机·ssh·bash·树莓派·vnc