标志寄存器:
CPU内部的寄存器,(对于不同的处理机,个数和结构都可能不同)具有三种作用:
  • 用来存储相关指令的某些执行结果
  • 用来为CPU执行相关指令提供行为依据
  • 用来控制CPU的相关工作方式
8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字PSW(标志位),简称flag。flag和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。
flag的1,3,5,12,13,14,15位在8086CPU中没有使用,不具有任何含义,而其余位具有特殊的含义。
运算结果标志位:
ZF标志(ZeroFlag):
零位标志位,它记录相关指令执行后的结果是否为0,如果是0,那么ZF=1,如果结果不为0,那么ZF=0。
PF标志(ParityFlag):
奇偶标志位,它记录相关指令执行后,其结果的所有二进制位中1个个数是否为偶数,如果是偶数,PF=1,反之为0。

SF标志(SignFlag):
符号标志位,它记录相关指令执行后,其结果是否为负,如果结果为负,SF=1,如果非负,SF=0。
CF标志(Carry进位,Flag标志):
进位标志位,一般情况,进行无符号运算时,它记录运算结果的最高位向更高位的进位值,或从更高位的借位值,如果运算结果的最高位产生了一个进位或借位,那么其值为1,否则其值为0。
OF标志(Overflow溢出,Flag标志):
溢出标志位,在进行有符号数运算的时候,如果结果超出了机器所能表示的范围称为溢出,OF的值被置为1,否则OF的值为0。
注意:这里所说的溢出,只是对有符号运算而言。
状态控制标志位:
TF标志(TrapFlag):
追踪标志位,当追踪标志被置为1时,CPU进入单步执行方式,即每执行一条指令产生一个单步中断请求,这中方式主要用于程序的调试。
IF标志(Interrupt-enable Flag):
中断允许标志位,用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求,但不管该标志为何值,CPU都必须响应CPU外部的不可屏蔽中断所发出的中断请求,以及CPU内部产生的中断请求。
  • 当IF=1时,CPU可以相应CPU外部的可屏蔽中断发出的中断请求。
  • 当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。
CPU的指令系统中也有专门的指令来改变标志位IF的值。

参考资料:
http://netclass.csu.edu.cn/NCourse/hep094/homepage/flags2.htm(各种标志位的含义)
http://www.cppblog.com/luqingfei/archive/2010/08/04/122171.aspx(标志寄存器)

标志寄存器及其标志位相关推荐

  1. 标志寄存器df_标志寄存器

    CPU内部的寄存器中,有一种特殊的寄存器具有以下三种作用. 用来存储相关指令的某些执行结果 用来为CPU执行相关指令提供行为依据 用来控制CPU的相关工作方式 这种特殊的寄存器在8086CPU种,被称 ...

  2. 标志寄存器df_标志寄存器的概念

    首先说一下标志寄存器的概念.在8086cpu中标志寄存器都是16位的,而其中存储的信息被称为程序状态字(一段包含系统状态的内存或者是硬件区域).标志寄存器既然是寄存器,那么它也是用来存储信息的,只是它 ...

  3. Intel 64/x86_64/x86/IA-32处理器标志寄存器详解(3) - 32位EFLAGS - 概述

    32位标志寄存器中的标志位/域可以分成3组:状态标志位,控制标志位,以及系统标志位.下图定义了这些标志位以及对应的比特位编号.在处理器刚刚初始化之后(通过激活RESET引脚或者INIT引脚),EFLA ...

  4. Intel 64/x86_64/x86/IA-32处理器标志寄存器详解(2) - 32位EFLAGS - 80386(386, Intel386)/80486(486, Intel486)

    80386/386/Intel386标志寄存器EFLAGS 80386增加了RF/VM标志位,用于支持虚拟8086模式与指令断点调试. 80486/486/Intel486标志寄存器EFLAGS (1 ...

  5. 8086汇编语言:标志寄存器的各个标志位的详细介绍

    一.基本介绍: CPU的内部的寄存器中,有一类特殊的寄存器(对于不同的处理机,其个数和结构都可能不同):它具有以下三种作用! 这种特殊的寄存器在8086CPU中,被称为标志寄存器flag.8086CP ...

  6. 标志寄存器的详细解释

    简介:    CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有三种作用.    (1)用来存储相关指令的某些执行结果.    (2)用来为CPU执行相关指令提供行 ...

  7. 汇编语言随笔(3)-条件转移指令和标志寄存器

    标志寄存器 标志寄存器通常具有以下三种作用:       1,用来存储相关指令的某些执行效果       2,用来为CPU执行相关指令提供行为依据       3,用来控制CPU的相关工作方式     ...

  8. 汇编语言--标志寄存器

    标志寄存器      CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下3种作用. 用来存储相关指令的某些执行结果: 用来为CPU执行相关指令提供行为依据: 用 ...

  9. 8086汇编复习3 - 标志寄存器 - 使用emu8086

    1 认识标志寄存器 标志寄存器     CPU内部有一种寄存器,具有三种作用:     1)存储相关指令的某些执行结果:     2)用来为CPU执行相关指令提供行为依据:     3) 用来控制CP ...

最新文章

  1. 图像处理_imgproc笔记(1)
  2. 1359C. Mixing Water
  3. php strip_tags 少,详解PHP函数 strip_tags的用法不足之处
  4. 黑盒测试概念简述,黑盒测试优缺点、黑盒用例设计方法简单介绍及黑盒测试方法使用总结
  5. windows 实用小工具(截图、进程管理)
  6. 一份清单:所有可以放进head标签的元素
  7. echarts中国地图,设置地图外边框,内各省界线不同样式
  8. 自动控制原理学习笔记(二)线性定常连续控制系统的数学模型
  9. 那个 php5 集成包,品络php5环境集成安装包_品络php5环境集成安装包官方版下载 - 服务器区 - 绿软家园...
  10. 论频谱中负频率的物理意义
  11. linux 文本三剑客之sed编辑器
  12. php normalize,normalize函数怎么使用
  13. Xshell个人家庭免费版
  14. BBN: Bilateral-Branch Network with Cumulative Learning for Long-Tailed Visual Recognition
  15. vue-admin-template默认英文改成中文
  16. 人生的意义是通过努力活得更好
  17. 企业微信如何建立部门?企业成员怎么加入部门?
  18. Can‘t write; duplicate key in table ‘qrtz_triggers‘
  19. Python将两个列表合并为一个字典
  20. 解决springboot上传图片无法显示问题

热门文章

  1. python+ tkinter做的一个项目辅助测试工具
  2. 谷歌卫星地图下载器有哪些那款好用
  3. 谷歌地图下载器中地图艺术照
  4. android 平板 办公,技德Remix超级平板如何让安卓系统成为办公神器
  5. ​​​​青春不常在,我与python“谈恋爱”
  6. 什么是亚马逊kyc审核?
  7. linux 内存与磁盘管理
  8. 大学里不该做的N件事
  9. 工业物联网中的无线充电
  10. ubuntu做主机双网卡共享上网方法