【总结】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 包含状态标志和控制标志

相关推荐
fei_sun3 小时前
【总结】【计组】总线
计算机
梁辰兴1 天前
计算机网络基础:非引导型传输媒体
网络·计算机网络·计算机·传输媒体·计算机网络基础·非引导型
tokepson2 天前
关于音频处理工具FFmpeg | 笔记备注
计算机·ffmpeg·技术·记录
面试鸭2 天前
科大讯飞,你好大方。。。
java·计算机·职场和发展·求职招聘
梁辰兴2 天前
计算机网络基础:引导型传输媒体
网络·计算机网络·计算机·计算机网络基础·引导型传输媒体
程序员鱼皮3 天前
MySQL 从入门到删库跑路,保姆级教程!
java·计算机·程序员·编程·编程经验
学术小白人4 天前
第一轮征稿!2026年区块链技术与基础模型国际学术会议(BTFM 2026)
人工智能·计算机·区块链·艺术·工程·rdlink研发家
Halo_tjn5 天前
Java List集合
java·windows·计算机
面试鸭5 天前
2025 校招生最想去的公司,秋招薪资汇总
计算机·职场和发展·互联网