汇编语言学习笔记(十一)标志寄存器

【汇编语言】标志寄存器(一) —— 标志寄存器中的标志位:ZF、PF、SF、CF、OF 一网打尽 本文主要介绍了8086CPU中flag寄存器中的一些标志位以及它们的功能。 阅读详情
flag寄存器(传送指令不会影响标志寄存器)
flag的1、3、5、12、13、14、15位在8086cpu中没有使用,不具有任何含义。而其余的都有特殊含义

ZF:0标志位
如果结果为0,则ZF=1
如果结果非0,则ZF=0
PF:奇偶标志位
如果1的个数为偶数,则PF=1,否则为0
SF:符号标志位
结果为负数,SF=1,否则为0
CF:进位标志位
OF:溢出标志位

adc:带进位的加法指令,利用了CF位上记录的进位值
sbb:带借位减法指令,利用了CF位上记录的借位值
cmp:是比较指令,功能相当于减法指令,不保存结果。只关心哥哥标志寄存器发生的相应变化

检测比较结果的条件转移指令:
检测那些标志位:被cmp影响的那些标志位
je    相等则转移    只检测ZF的值
jne    不相等        
jb    低于        
jnb    不低于        
ja    高于        
jna    不高于        
j jump e equal n not b below a above
以上都是cmp进行无符号比较
实例:如果(ah)=(bh)则(ah)=(ah)+(ah),否则(ah)=(ah)+(bh)
结果:
cmp ah,bh
je s
add ah,bh
jmp short ok
s:add ah,ah
ok:ret

DF和串传送指令
DF:方向标志位
DF=0:每次操作后si,di递增;否则递减
movsb:将ds:si指向的内存单元中的字节送入es:di中,然后根据标志寄存器DF位的值,将si和di递增或者递减
movsw:以字的单位传送
一般都和rep指令配合使用
rep movsb:
rep的作用是根据cx的值,重复执行后面的字符串送指令

8086提供了两条指令对DF继续努力设置
cld:设置DF=0    clear
std:设置DF=1    set

pushf和popf
将标志寄存器的值压入栈
从栈中弹出值放入标志寄存器














[从零学习汇编语言] - 标志寄存器 点赞再看,养成习惯!今天我们来讲一下常见CPU组成中的最后一个寄存器:标志寄存器.CPU内部的寄存器中,有一种特殊的寄存器(对于不同的CPU可能其构造和数量均不同),其主要有三中作用:这种寄存器在我们中被称为标志寄存器。的标志寄存器有16位,其中存储的信息通常被称为,与其他寄存器不同的是,其他寄存器都是整个寄存器用来存放特定具数据,而标志寄存器则是按照每一位来记录特定信息。比如的结构图如下: flag寄存器中的1,3,5,12,13,14,15位在中并没有被应用,不具备任何含义。而剩余各位则都具有其特殊含义 阅读详情

相关推荐

《汇编语言》学习(十一)标志寄存器

本章主要学习X86汇编语言中的各个标志寄存器及其作用。我将在本文用一张思维导图总结它的知识点,并给出所有的习题答案。 一、知识图谱 二、习题 检测点11.1 sub al,al ZF=1,PF=1,SF=0 al=00000000b mov al,1 ZF=1,PF=1,SF=0 al=00000001b push ax ZF

Sagittarius_Warrior的博客 886

王爽 汇编语言第三版 第11章 标志寄存器

条件码: ① OF(Overflow Flag)溢出标志,溢出时为1,否则置0.标明一个溢出了的计算,如:结构和目标不匹配. ② SF(Sign Flag)符号标志,结果为负时置1,否则置0. ③ ZF(Zero Flag)零标志,运算结果为0时置1,否则置0. ④ CF(Carry Flag)进位标志,进位时置1,否则置0.注意:Carry标志中存放计算后最右的位....

freeking101的博客 1359

王爽 《汇编语言》 读书笔记 十一 标志寄存器

第十一章 标志寄存器 标志寄存器 1)用来存储相关指令的某些执行结果 2)用来为cpu执行的相关指令提供行为依据 3)用来控制cpu的相关工作方式 标志寄存器flag存储程序状态字(PSW) 8086点flag寄存器各位有不同的含义 CF,PF,AF,ZF,SF,TF,IF,DF,OF 11.1 ZF标志 flag的第六位是ZF,0标志位。

sesiria的博客 1025

标志寄存器(flag)

8086CPU的标志寄存器有16位,其中储存的信息通常被称为程序状态字。 其他寄存器时用来存放数据的,整个寄存器具有一个含义。 flag寄存器是按位起作用的,它的每一位都有专门的含义,记录特定的信息。 8086CPU的flag寄存器的结构 15 14 13 12 11 10 9 8 7 6 5 4 3 2 ...

GM_AMRC的博客 2584

汇编语言——第11章 标志寄存器

汇编语言——第11章 标志寄存器

m0_65159351的博客 3275

WIN10环境下STK11.5(含Analyzer, EOIR, Scheduler插件)的安装与破解全攻略

本文提供了一份详细的WIN10环境下STK11.5软件及其核心插件(Analyzer, EOIR, Scheduler)的安装与破解全攻略。内容涵盖从安装包准备、系统环境检查,到基础版安装、插件部署、破解文件替换及许可证配置的完整步骤,并附有常见问题排错指南,旨在帮助用户免费搭建功能齐全的卫星仿真分析环境。

solidity8miner的博客 756

数据传送指令(除了2,一般不会影响状态标志位)

1. 通用数据传送指令 a. 一般数据传送指令 § MOV b. 堆栈操作指令(必须按照字操作) § PUSH 16位的寄存器/段寄存器/存储器2个单元 (进栈时SP减小) § POP 16位的寄存器/段寄存器(不可以是CS)/存储器2个单元(出栈时SP增大) c. 交换指令 § XCHG REG/MEM, REG/MEM(不同为存储器,不同为寄存器,立即数和段寄存器均不可以参加交换) d. 查表指令 § XLAT □ DS:(BX+AL)→AL(表的首地址BX,偏

DongZhaoCheng 2640

千兆以太网PHY设计:PCB原理图完整示例

深入解析千兆以太网PHY电路设计要点,提供完整的PCB原理图设计实例,帮助工程师掌握高速信号布局与电源去耦等关键技术,提升设计稳定性与信号完整性。

weixin_30633869的博客 634

【汇编语言】标志寄存器PSW

标志寄存器的各标志位的简单介绍

别下完这场雪 1万+

Android 13高通平台CTS camera部分fail项修改(续)

接着上一篇,有几个提了case高通也分析了很久的fail项,其中最离谱的是问题1,第一个接手case的人反反复复处理、内部排查踢皮球、要求log,折腾了很久,最终就给出个解不了的结论。后面还是靠着自己发现了一些蛛丝马迹,并且换了个case接手人才最终解决。

hkj887tg的博客 2061

美团mtgsig 3.1.0算法还原:从加密入口到d1生成的完整链路拆解

本文详细拆解了美团mtgsig 3.1.0签名算法的完整逆向过程。通过定位加密入口函数eH,理清a6、a5、a8到d1的生成依赖链,并运用插桩技术,在JSVMP混淆环境下逐步还原了核心参数的生成逻辑,为逆向工程实践提供了清晰的纯算还原方法论。

oo7890的博客 778

【汇编语言】【笔记】标志寄存器

标志寄存器 CPU内部有一种特殊寄存器,称为标志寄存器,有以下功能: 存储相关指令的某些执行结果 为CPU执行相关指令提供行为依据 控制CPU的相关工作方式 标志寄存器称为flag寄存器,为16位寄存器,存储的信息称为程序状态字 flag寄存器按位起作用 第0位 CF 第2位 PF 第6位 ZF 第7位 SF 第8位 TF 第9位 IF 第10位 Df 第11位 OF 影响flag寄存器的指令大多数为运算指令 ZF标志 flag寄存器第6位是ZF,为零标志位 功能:记录相关指令执行后,其结果是否

weixin_45727215的博客 363

别再让会议变‘回音壁’:手把手教你调优WebRTC的AEC3回声消除(附实战代码)

本文深入解析WebRTC的AEC3回声消除技术,提供从参数调优到声学环境适配的实战指南。通过诊断回声特征、解剖核心参数(如filter.length_blocks和delay_estimate_smoothing)以及应对特殊场景(如密闭空间与开放办公区),帮助开发者有效解决视频会议中的回声问题,提升语音通信质量。附有实战代码和调试工具,适合需要优化实时通信体验的开发者。

weixin_29220405的博客 173

汇编语言个人学习笔记——第十一章 标志寄存器

引言: 8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。 我们已经使用过8086CPU的ax、bx、cx、dx、si、di、bp、sp、ip、cs、ss、ds、es等13个寄存器了。 标志寄存器(简称flag)是要学习的最后一个寄存器。 flag和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。 而flag寄存器是按位起作用的,...

无 1949

【Unity】Gif图片播放插件(支持UI及模型纹理渲染两种模式)

unity本身不支持GIF格式文件直接渲染, 因此一般的做法是通过加载图片,通过代码控制其循环播放、停止等,模拟动画效果,本文简单介绍一下某个现有开源工具,感谢开源作者。

灵境引路人 4036

uniapp [全端兼容] - 实现上传本地视频到后端服务器及在线预览播放视频+移除视频+进度条上传,将已选视频上传服务端并可预览视频和删除功能,上传单个或多个视频文件及大文件(H5、小程序、app)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniapp+uview上传视频并预览,UNI-APP视频上传组件,实现视频文件上传视频回显,上传视频并预览、上传多个视频,实现上传视频功能+预览,上传显示视频功能,上传视频预览移除,批量上传视频,上传超大视频文件,视频上传并预览效果,uniapp上传视频,使用uview上传视频及预览,上传视频和删除视频功能,视频流上传播放功能,上传视频到后端,视频上传与实时预览功能,upload上传组件,视频播放器

🏆 前端领域优质创作者 1万+

汇编语言(王爽版)学习笔记 第十一章 标志寄存器(2)

文章目录11.8 cmp指令11.9 检测比较结果的条件转移指令检测点11.311.10 DF标志和串传送指令11.11 pushf和popf检测点11.411.12 标志寄存器在Debug中的表示 11.8 cmp指令 cmp是比较指令,cmp的功能相当于减法指令,只是不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。 cmp 指令格式:cmp 操作对象1,操作对象2 功能:计算操作对象1-操作对象2,但并不保存结果,仅仅根据计算结果对标

Kni9hT's Blog 973

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

汇编语言(王爽版)学习笔记 第十一章 标志寄存器(1)

文章目录引言11.1 ZF标志11.2 PF标志11.3 SF标志检测点11.111.4 CF标志11.5 OF标志 引言 这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。 标志寄存器flag 11.1 ZF标志 flag的第6位是ZF,零标志位。它记录相关指令执行后,其结果是否为0。如果结果为0,那么zf=1;如果结果为1,那么zf=0。 比如指令: mov ax,1 sub ax,1 执行后,结果为0,

Kni9hT's Blog 1247

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

王爽《汇编语言》(第二版) 学习笔记 (第十一章 标志寄存器)

 第十一章 标志寄存器本章概述:1.         CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能     不同)具有以下3种作用:1)        用来存储相关指令的某些执行结果2)        用来为CPU执行那个相关指令提供行为依据3)        用来控制CPU的相关工作方式2.         这种特殊的寄存器在8086C

lr2131的专栏 1113

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【汇编语言】标志寄存器(四) —— 一行代码,两种世界:标志寄存器的方向标志位,栈操作,Debug中的表示

本文主要介绍了标志寄存器的方向标志位DF,以及串传送指令,还要就是标志寄存器在Debug中是如何表示的。

2301_80191662的博客 1626

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

对8086CPU的标志寄存器中的OF、DF、IF、TF、SF、ZF、AF、PF、CF标志位进行了相关的介绍!

坤舆湖畔的万某某的博客 2万+

【汇编语言】标志寄存器(三) —— 条件跳转,精准决策:汇编语言的比较与转移

本文主要讲述了条件转移指令的相关用法,主要就是cmp与条件转移指令的配合使用。

2301_80191662的博客 2628

汇编语言-标志寄存器

汇编语言-标志寄存器, 检测比较结果的条件转移指令, abc, sbb

Abe的学习之路 3705

汇编语言(十一)--标志寄存器

第十一章 标志寄存器 8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW) 我们己经使用过8086CPU的ax、bx、cx、dx、si、di、bp、sp、ip、cs、ss、ds、es等13个寄存器了。 本章中的标志寄存器(以下简称为flag)是我们要学习的最后一个寄存器。 而flag寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息 11.1 ...

qq_44671752的博客 1370
上一篇: 汇编语言学习笔记(九)转移指令的原理
下一篇: 汇编语言学习笔记(十二)内中断
阳小良
博客等级 码龄17年 54粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值