flag寄存器(标志寄存器)是一个十六位寄存器,flag寄存器的1、2、3、12、13、14、15位没有任何含义。

其余各位分别代表不同的意义


ZF标志

指令执行后,其结果是否为0,若结果为0,那么ZF=1;如果不为0,那么ZF=0。


PF标志

指令执行后,其结果的二进制表示中1的个数是否为偶数,若1的个数为偶数,PF=1;若1的个数为奇数,PF=0。


SF标志

  • 有符号运算

指令执行后,其结果是否为负。若结果为负,SF=1;如果非负,SF=0。
两个数相加,结果转换成二进制,看最高位,若为1,SF=1,若为0,SF=0。


CF标志

  • 无符号运算

在进行无符号运算的时候,它纪录了运算结果的最高有效位向更高位的进位值,或从更高位的错位值。CF只针对无符号数(将寄存器中的操作数看成无符号数)


OF标志

  • 有符号运算

在进行有符号运算的时候,如结果超过了机器所能表示的范围称为溢出。OF针对有符号数(将寄存器中的操作数看成有符号数)

判断OF时,默认为有符号运算,先把数值换成补码形式,看补码的数值是否在[-128,+127]范围之内

mov al,0F0H ;F0H转换成补码为-16
add al,088H ;88H转换成补码为-120
执行后,将产生溢出,因为超出了范围


mov al,7DH
add al,0BH
执行后,CF=0,OF=1,SF=1,ZF=0,PF=1
解析:
7DH转为二进制为01111101,0B转为二进制为00001011

汇编语言——ZF、PF、SF、CF、OF寄存器相关推荐

  1. 汇编 OF ZF PF SF的问题

    87H=1000 0111B F5H=1111 0101B 结果=0111 1100B SF=0(最高位是什么,ZF就是什么) ZF=0(结果为0,ZF就置1) CF=1(最高位有进位或借位就置1) ...

  2. 【汇编语言04】第3章 寄存器(内存访问)

    目录 0 前言 1 数据段寄存器 1.1 内存中字的存储 1.2 字的传送 1.3 DS和[address] 1.4 数据段 2 栈段寄存器 2.1 栈的简介 2.2 CPU的栈机制 2.3 SS和S ...

  3. 汇编语言中的标志位:CF、PF、AF、ZF、SF、TF、IF、DF、OF

    CF:进位标志位.在无符号运算时,记录了运算结果的最高有效位向更高位的进位值或从更高位借位,产生进位或借位时CF=1,否则CF=0: PF:奇偶标志位.相关指令执行后结果所有bit中1的个数为偶数,那 ...

  4. 汇编语言常见的标志位:CF、PF、AF、ZF、SF、TF、IF、DF、OF

    一.运算结构标志位 1.CF(进位标志位):主要用来反映运算是否产生进位或借位,产生进位或借位则CF=1,否则CF=0. 2.PF(奇偶标志位):用于反映运算结果中"1"的个数的奇 ...

  5. 标志寄存器:CF、PF、AF、ZF、SF、TF、DF、OF

    注:下面说到的标志寄存器都是缩写,C就是CF,其他也一样 标志寄存器:C.P.A.Z.S.T.D.O的内容只会是0或1,0表示假,1表示真 O:溢出标志 一个寄存器如果存放的值超过所能表示的范围,就称 ...

  6. 【汇编语言】研究生复试常考的CF、PF、AF、ZF、SF、OF、IF、DF、TF到底是什么

    目录:

  7. 【汇编语言】状态标志符(CF/OF/SF/ZF)在运算(ADD/SUB/ADC/SBB)过程中的响应变化

    目录 各类运算时状态标志的响应变化 标志符在各种`ADD`运算下的响应情况 标志符在各种`SUB`运算下的响应情况 借助标志符实现多位数之间运算 `ADC`(add with carry)带进位加法指 ...

  8. 汇编中OF,PF,AF,ZF,SF,CF各自的意义

    1.CF-Carry Flag(进位标志位) 主要用来反映运算是否产生进位或错位,产生进位或错位则CF = 1,否则CF = 0. Equals to 1 if a transfer occurs b ...

  9. 汇编语言——标志(状态字)寄存器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) ...

最新文章

  1. 最亲密接触DhtmlJScript开发细节
  2. iis配置js支持读取json文件配置
  3. Git 使用篇一:初步使用GitHub,下载安装git,并上传项目
  4. 改变窗口背景_办公软件操作技巧063:如何设置ppt母版背景
  5. 开启MyBatis日志Sql打印
  6. babel 用法及其 .babelrc 的配置详解,想做前端架构,拒绝一知半解...
  7. drive es 软件兼容_某知名软件被完美修改!对不住了!
  8. Oracle 数据怎么实时同步到 MySQL | 亲测干货分享建议收藏
  9. matplotlib绘制图形
  10. jenkins结合ansible用shell实现自动化部署和回滚
  11. weblogic部署方式
  12. 搞懂Vision Transformer 原理和代码,看这篇技术综述就够了(三)
  13. MySQL--Select条件判断、in、not in、and、or、以及like匹配字符语句查询
  14. 计算机硬件未来发展前景,计算机硬件发展趋势
  15. 多人群聊聊天室java_#java 聊天室(一)—— 实现一个简单Telnet多人群聊聊天室...
  16. ninjia必须以root权限运行问题
  17. 查看电脑连接过的所有无线的密码
  18. 项目策划 文件管理系统
  19. 中国书法对世界哲学美学艺术学的意义
  20. 黑马程序员——交通灯管理系统

热门文章

  1. 诤言只能对诤友《基层风云·1》·一
  2. 1077 四位数数字加密
  3. 日撸 Java 三百行(51-60天,kNN 与 NB)
  4. arduino 按钮读取_arduino教程系列6-按键实验 arduino入门,arduino教程
  5. 常用META标签整理和SEO优化
  6. 技术泡妹子一 : SVG识别妹子身体各个部位
  7. 0014__格式化工厂(视频编辑软件包括去掉声音、添加字幕)
  8. JS jquery 炫酷特效
  9. PDSC: Sequence excution failed
  10. 解决网页视频无法播放问题 (搜狐)