汇编语言——ZF、PF、SF、CF、OF寄存器
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寄存器相关推荐
- 汇编 OF ZF PF SF的问题
87H=1000 0111B F5H=1111 0101B 结果=0111 1100B SF=0(最高位是什么,ZF就是什么) ZF=0(结果为0,ZF就置1) CF=1(最高位有进位或借位就置1) ...
- 【汇编语言04】第3章 寄存器(内存访问)
目录 0 前言 1 数据段寄存器 1.1 内存中字的存储 1.2 字的传送 1.3 DS和[address] 1.4 数据段 2 栈段寄存器 2.1 栈的简介 2.2 CPU的栈机制 2.3 SS和S ...
- 汇编语言中的标志位:CF、PF、AF、ZF、SF、TF、IF、DF、OF
CF:进位标志位.在无符号运算时,记录了运算结果的最高有效位向更高位的进位值或从更高位借位,产生进位或借位时CF=1,否则CF=0: PF:奇偶标志位.相关指令执行后结果所有bit中1的个数为偶数,那 ...
- 汇编语言常见的标志位:CF、PF、AF、ZF、SF、TF、IF、DF、OF
一.运算结构标志位 1.CF(进位标志位):主要用来反映运算是否产生进位或借位,产生进位或借位则CF=1,否则CF=0. 2.PF(奇偶标志位):用于反映运算结果中"1"的个数的奇 ...
- 标志寄存器:CF、PF、AF、ZF、SF、TF、DF、OF
注:下面说到的标志寄存器都是缩写,C就是CF,其他也一样 标志寄存器:C.P.A.Z.S.T.D.O的内容只会是0或1,0表示假,1表示真 O:溢出标志 一个寄存器如果存放的值超过所能表示的范围,就称 ...
- 【汇编语言】研究生复试常考的CF、PF、AF、ZF、SF、OF、IF、DF、TF到底是什么
目录:
- 【汇编语言】状态标志符(CF/OF/SF/ZF)在运算(ADD/SUB/ADC/SBB)过程中的响应变化
目录 各类运算时状态标志的响应变化 标志符在各种`ADD`运算下的响应情况 标志符在各种`SUB`运算下的响应情况 借助标志符实现多位数之间运算 `ADC`(add with carry)带进位加法指 ...
- 汇编中OF,PF,AF,ZF,SF,CF各自的意义
1.CF-Carry Flag(进位标志位) 主要用来反映运算是否产生进位或错位,产生进位或错位则CF = 1,否则CF = 0. Equals to 1 if a transfer occurs b ...
- 汇编语言——标志(状态字)寄存器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) ...
最新文章
- 最亲密接触DhtmlJScript开发细节
- iis配置js支持读取json文件配置
- Git 使用篇一:初步使用GitHub,下载安装git,并上传项目
- 改变窗口背景_办公软件操作技巧063:如何设置ppt母版背景
- 开启MyBatis日志Sql打印
- babel 用法及其 .babelrc 的配置详解,想做前端架构,拒绝一知半解...
- drive es 软件兼容_某知名软件被完美修改!对不住了!
- Oracle 数据怎么实时同步到 MySQL | 亲测干货分享建议收藏
- matplotlib绘制图形
- jenkins结合ansible用shell实现自动化部署和回滚
- weblogic部署方式
- 搞懂Vision Transformer 原理和代码,看这篇技术综述就够了(三)
- MySQL--Select条件判断、in、not in、and、or、以及like匹配字符语句查询
- 计算机硬件未来发展前景,计算机硬件发展趋势
- 多人群聊聊天室java_#java 聊天室(一)—— 实现一个简单Telnet多人群聊聊天室...
- ninjia必须以root权限运行问题
- 查看电脑连接过的所有无线的密码
- 项目策划 文件管理系统
- 中国书法对世界哲学美学艺术学的意义
- 黑马程序员——交通灯管理系统
热门文章
- 诤言只能对诤友《基层风云·1》·一
- 1077 四位数数字加密
- 日撸 Java 三百行(51-60天,kNN 与 NB)
- arduino 按钮读取_arduino教程系列6-按键实验 arduino入门,arduino教程
- 常用META标签整理和SEO优化
- 技术泡妹子一 : SVG识别妹子身体各个部位
- 0014__格式化工厂(视频编辑软件包括去掉声音、添加字幕)
- JS jquery 炫酷特效
- PDSC: Sequence excution failed
- 解决网页视频无法播放问题 (搜狐)