标志寄存器(PSW)
标志寄存器
标志寄存器又称程序状态字PSW(Program Status Word)
标志Flag用于反映指令执行结果或控制指令的执行形式。许多指令执行后将影响有关的状态标志寄存器,不少指令的执行要利用某些标志,当然,也有很多指令与标志无关。
处理器中用一个或多个二进制位表示一种标志,其0和1的不同组合表示标志的不同状态。Intel8086支持的标志形成了一个16位的标志寄存器FLAGS。以后各带80x86处理器有所增加,形成了32位的EFLAGS标志寄存器。
状态标志
状态标志是最基本的标志,用来记录指令执行结果的辅助信息。加减运算和逻辑运算指令是知足要设置状态标志的指令,其他有些指令的执行也会相应地设置它们。状态标志有6个,处理器主要使用其中5个构成各种条件,分支玲玲判断这些条件实现程序分支。从低位到高位一次是:进位标志CF(Carry Flag)、奇偶标志PF(Parity Flag)、辅助进位标志AF(Auxiliary Carry Flag)、零标志ZF(Zero Flag)、符号标志SF(Sign Flag)、溢出标志(Overflow Flag)。
控制标志
IA-32处理器只有一个控制标志:方向标志DF(Direction Flag),该标志仅用于串操作指令,控制地址的变化方向
系统标志
系统标志用于控制操作系统或核心管理程序的操作方式,应用程序不应该修改它们。例如,**中断允许标志IF(Interrupt-enable Flag)**或简称中断标志,用于控制外部可屏蔽中断是否可以被处理器响应。再如,**陷阱标志TF(Trap Flag)**也常称为单步标志,用于控制处理器是否进入单步操作方式。
8086具有9个基本标志,后续处理器增加的标志主要用于处理器控制,由操作系统使用。
标志寄存器(PSW)相关推荐
- 【汇编语言】标志寄存器PSW
简介 8086CPU设置了一个16位标志寄存器PSW(也叫FR). 其中规定了9个标志位,用来存放运算结果特征和控制CPU操作. 反映指令对数据作用之后,结果的状态(不是结果本身).这些状态将控制后续 ...
- 011-减法指令SUB及对标志寄存器PSW的影响
l 汇编减法指令sub l 初识标志位 l 标志寄存器PSW l ZF(零标志) l 一.标志寄存器PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 ...
- 标志寄存器PSW和汇编条件转移指令解释
标志寄存器PSW 标志寄存器PSW(程序状态字寄存器PSW) 标志寄存器PSW是一个16为的寄存器.它反映了CPU运算的状态特征并且存放某些控制标志.8086使用了16位中的9位,包括6个状态标 ...
- 汇编语言——标志(状态字)寄存器PSW
标志寄存器PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF 零 标志 标志寄存器PSW(程序状态字寄存器PSW) ...
- 标志寄存器的状态标志
百度百科说明https://baike.baidu.com/item/%E7%8A%B6%E6%80%81%E6%A0%87%E5%BF%97/2186277?fr=aladdin#5 状态标志是16 ...
- Win-MASM64汇编语言-标志寄存器(EFLAGS/PSW/PUSHF/POPF)
CPU内部需要一种特殊的寄存器来完成下面三个功能 1.用来存储相关指令的执行结果是否满足某些特性 2.为cpu执行相关指令提供行为依据 3.用来控制cpu的相关工作方式 能完成上面三个功能的寄存器被成 ...
- 标志寄存器(FLAGS,PSW,FR)简介
标志寄存器简介 8086CPU中设立了一个两字节的标志寄存器,有9个标志位,其中6个用来表示运算结果的状态包括CF.PF.AF.ZF.SF.OF,称为状态标志位,另外3个是控制标志位,用来控制CPU的 ...
- 标志寄存器的详细解释
简介: CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有三种作用. (1)用来存储相关指令的某些执行结果. (2)用来为CPU执行相关指令提供行 ...
- 8086汇编复习3 - 标志寄存器 - 使用emu8086
1 认识标志寄存器 标志寄存器 CPU内部有一种寄存器,具有三种作用: 1)存储相关指令的某些执行结果: 2)用来为CPU执行相关指令提供行为依据: 3) 用来控制CP ...
- 王爽 汇编语言第三版 第11章 标志寄存器
条件码: ① OF(Overflow Flag)溢出标志,溢出时为1,否则置0.标明一个溢出了的计算,如:结构和目标不匹配. ② SF(Sign Flag)符号标志,结果为负时置1,否则置0. ③ Z ...
最新文章
- Redis启动服务器端和客户端的命令(redis-server、redis-cli、--help、kill、ping、切换数据库)
- linux如何用vi编程,vi使用方法
- sql 精读(六)获取每个类别中最受欢迎的商品
- mysqldump 导出某几张表
- 元组类型与列表类型的操作函数和方法
- 酷桌面:随身携带你的企业
- LeetCode 1054. 距离相等的条形码(优先队列)
- Java 算法 字串统计
- OpenCV案例(四): 投射矫正
- Windows Server 2008 多元密码策略之ADSIEDIT篇
- Manjaro找不到默认键盘布局
- C++课程设计订单信息管理系统
- 利用java做前端连接数据库_基于java的前端与数据库的交互
- c语言颜色代码渐变色,Arduino中LED灯实现256中颜色的渐变
- 微信翻译,快把上海老外搞疯了
- mapbox-gl开发:deck.gl轨迹图效果
- 逍遥模拟器连接不到android,逍遥模拟器不能连上网怎么办?两招解决问题
- 电脑换个地方用有线就上不了网的问题
- 使用easygui制作app
- IEEE PHM 2012竞赛数据集