汇编语言(王爽) 第11章 标志寄存器

这里讲一个特殊的寄存器,flag

先看flag的16位显示

11.1 zf

指令执行后,结果0,ZF=1

指令执行后,结果不为0,ZF=0

11.2 pf

指令执行后,所有bit位中1的个数是否位偶数,若为偶数,那么pf=1

若为奇数,pf=0

11.3 sf

指令执行后,结果负,SF=1

指令执行后,结果不为负,SF=0

11.4 cf

进位

若出现进位,那么CF=1

没有的话CF=0

11.5 of

溢出,

数字的溢出。

8位范围是-128-127 若130就是溢出了

11.6 abc指令

abc a,b

a=a+b+CF

为啥需要这个东西呢?

加法可以分2步,

1 低位=低位加

2 高位=高位加+CF

把加法分步进行了

11.8 cmp指令

减法指令,但是不保存实际减法结果,就是用来影响flag的位

有4种情况把,自己总结的

1 sf=1,of =0 就A<B

2 sf=1,of=1 正溢出出现的负值,就是a-b是一个大的正数,要是8位的话,就是大于127的

3 sf=0,of=1 负溢出才会出现正值,那么a-b就是一个负数,要是8位的话,就是小于128的

4 sf=0 sf=1 没溢出,就很正常的比较大小

11.9 讲了一些条件转移指令

jczx 这种的

就和高级语言的if switch差不多把

11.10 串传送

DF =0 每次操作后 si,di 递增

DF=1 每次操作后si,di递减

movsb一次传一个内存单元,配合rep movsb使用

11.11 pushf popf

pushf 把标志寄存器的值入栈

popf 从栈中弹出数据,送到栈中

 

这里就讲一个flag寄存器,每个位都下设置0,1,起到不同的作用

 

EOF

 

转载于:https://www.cnblogs.com/wz0107/p/5380197.html

(十八)《汇编语言(王爽)》 | 检测点 11.1、11.2、11.3、11.4 《汇编语言(王爽)》 | 检测点 11.1、11.2、11.3、11.4 阅读详情

相关推荐

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

第十一章 标志寄存器 标志寄存器 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

王爽 《汇编语言》 第11章 标志寄存器 学习笔记

标志寄存器PSW(包括ZF,PF,SF,CF,OF,DF),与PSW有关的指令(包括adc,sbb,cmp,jb,movsb,rep,pushf,popf),标志寄存器在Debug中的表示

qq_39991776的博客 1392

王爽汇编语言 检测点11.4

下面开始分析程序 mov ax,0 将ax置0 push ax ax入栈 popf 将栈中的数据弹出到psw(标志寄存器)中 此时psw中数据为:0000 0000 0000 0000bmov ax,0fff0h add ax,0010h 这两句的作用是(ax) = fff0h + 0010h,显然,psw中的数据会发生改变,问题是:如何改变呢?

weixin_38190650的博客 5725

千哥读书笔记:汇编语言(王爽第四版)第11章标志寄存器

本章的内容相对简单,但需要学习的知识点很多,也需要我们耐心去学习和理解一些细节内容。

ncppk的专栏 1415

《汇编语言(第三版)》王爽笔记(11)标志寄存器

第十一章 标志寄存器 标志寄存器的作用:存储相关指令的某些执行结果;为CPU执行相关指令提供行为依据;控制CPU相关工作方式。

weixin_42551292的博客 798

Cox构建预测模型(5):如何用R语言绘制校准曲线(附全套代码)

这篇文献通过绘制两个模型的DCA曲线来评估模型的临床决策实际需求,一个是列线图模型,包括纳入列线图的全部变量,一个是TNM模型,只纳入TNM分期3个变量。A图是训练集1年、3年、5年患者的总生存期的DCA曲线;B图是训练集1年、3年、5年患者的总生存期的DCA曲线,红色线条代表列线图模型(包括构建模型的10个变量),黄色线条代表TNM模型(仅纳入TNM分期3个变量),两个模型对比,在绘制校准图之前,必须要完成数据的导入、拆分数据集的工作、预测因子的筛选,校准图的绘制是分别在训练集与验证集独立进行的。

qq_37610365的博客 1360

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

标志寄存器的作用: 用来存储相关指令的某些执行结果 用来为CPU执行相关指令提供行为依据 用来控制CPU的相关工作方式 其中存储的信息通畅被称为程序状态字(PSW) 简称flag flag 和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。 而flag寄存器是按位起作用的。也就是说,它的每一位都有专门的含义,记录特定的信息。 flag寄存器的结构 0 CF 2 PF 4...

qq_43063278的博客 452

基于CODESYS与EtherCAT的步进电机单轴控制实践

本文详细介绍了基于CODESYS平台与EtherCAT总线技术实现步进电机单轴控制的完整实践流程。从硬件选型、软件工程创建、EtherCAT主从站配置,到运动控制功能块编程与在线调试,手把手指导读者完成从零到一的搭建,并提供了常见问题的排坑指南,帮助自动化开发者快速掌握这一高效、灵活且成本可控的工业运动控制解决方案。

hh234的博客 491

《汇编语言》(王爽著)第11章 标志寄存器

NOTES: P106 When executing arithmetic instructions, we often want to know something about the result. Is it negative, positive, or zero? Is it too large or too small to fit into the destinati

tech_hourse 635

车辆TBOX科普 第64次 TBOX系统集成测试与文档编写

汽车电子开发中,TBOX作为核心网关面临独特挑战:需处理多网络接口、满足严苛安全标准并确保10年以上可靠性。项目文档是开发流程的核心资产,必须与编码同步更新,构建从需求到测试的完整闭环。系统集成测试需分层进行,结合硬件在环测试和自动化工具,并严格管理缺陷。文档与测试深度协同,通过追溯矩阵确保每个需求都被覆盖验证。最终交付不仅是软件包,更是一套包含完整验证报告的信任体系。这种严谨的工程纪律,是将代码转化为车规级可靠产品的关键保障。

IT深耕十余载,大道之简 1326

专有钉钉小程序(浙政钉)开发搭建流程总览

最近公司有一个项目要做浙政钉,让我来负责做。靠,我一脸懵,开发了两年多不知道浙政钉是啥,感觉我眼界还是低了。然后就去百度、同事问了一圈才知道就是个钉钉小程序嘛,然后发布到浙政钉上了。就搭建项目跑起来我都肥了很多事,中间走了很多坑。正好领导让我写《钉钉小程序前端开发流程》,这想着也写个博客吧。下面就是整个流程及我所遇到的坑!

m0_53910290的博客 6356

汇编语言-王爽 第11章 标志寄存器-笔记

标志寄存器

weixin_46708000的博客 187

矩阵束(Matrix Pencil)入门:从通信系统到控制理论,它为何是建模利器?

本文深入探讨矩阵束(Matrix Pencil)在通信系统与控制理论中的关键作用,揭示其作为复杂系统建模利器的独特价值。从MIMO系统的多径干扰分析到电力系统稳定性判据,矩阵束通过`A-λB`方程求解提供精准建模方案,显著提升5G通信和工业控制等领域的性能表现。

weixin_30134145的博客 359

汇编语言(王爽老师)

自学完王爽老师的汇编语言,对一些关键知识点进行梳理。 目录 第一章 基础知识 第二章 寄存器 第三章 寄存器(内存访问) 第4章 第一个程序 第5章 [BX]和loop指令 第6章 包含多个段的程序 第7章 更灵活的定位内存地址的方法 第8章 数据处理的两个基本问题 第9章 转移指令的原理 第10章 CALL和RET指令 第11章 标志寄存器 第12章 内中断 第13章...

heart_in_someone的博客 9999

ISCC-Amy‘s Code CTF-Reverse

ISCC-Amy's Code CTF-Reverse

m0_72904009的博客 682

【unity实战】使用unity的Navigation+LineRenderer实现一个3D人物寻路提前指示预测移动轨迹的效果,并可以适配不同的地形

本文介绍了在Unity中使用Navigation导航系统和LineRenderer实现3D人物寻路轨迹预测效果的方法。通过NavMesh.CalculatePath计算路径点,结合Physics.Raycast进行地面点投射,将路径点赋予LineRenderer渲染出移动轨迹。关键点包括:1)利用NavMesh.CalculatePath计算两点间可行走路径;2)通过射线检测获取地面点提高路径适配性;3)使用协程定期更新路径绘制。文章还提供了完整代码实现,并说明需要将地面图层设置为Ground并进行导航网格

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 459

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

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

2301_80191662的博客 1626

深入解析逆时偏移(RTM)算法及其在C++中的实现

逆时偏移(Reverse Time Migration, RTM)是一种高级地震成像技术,广泛应用于地震勘探中。RTM通过逆时传播波场来构建地震子波,能够提供更高分辨率和更精确的地下构造图像。本文将详细介绍RTM的基本原理,并通过C++代码示例,深入解析如何实现和优化RTM算法。希望这篇文章能够为地球物理学家和C++开发者提供有价值的参考。

qq_38334677的博客 1529

王爽《汇编语言》笔记(详细)

一、基础知识 1、指令 机器指令:CPU能直接识别并执行的二进制编码(指令) 汇编指令:是机器指令便于记忆的书写格式。汇编指令是机器指令的助记符,同机器指令一一对应。 指令:指令通常由操作码和地址码(操作数)两部分组成 指令集:每种CPU都有自己的汇编指令集。 汇编语言发展至今,有以下3类指令组成。 汇编指令:机器码的助记符,有对应的机器码。 伪指令:没有对应的机器码,由编译器执行,计算机并不执...

洋葱汪的博客 16万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

第11章 标志寄存器

本系列博文参考《汇编语言》 王爽 本章掌握知识点 (1)标志寄存器 (2)与标志寄存器相关的指令:adc、sbb、cmp、转移指令 (3)重点理解掌握,标志寄存器在cmp和je等转移指令配合使用中的作用。(类比高级语言中的if语句) 1 标志寄存器 1.1 ZF标志 零标志位。它记录相关指令执行后,其结果是否为0. 如果结果为0,则zf=1。 如果结果不为0,那么zf=0。 1.2 PF标志 ...

大草的博客 551

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

王爽《汇编语言》(9-11章)学习笔记

《汇编语言》王爽–学习笔记 参考链接 本笔记主要记录自己在学习过程中的易错、易混淆点,单看笔记可能无法串联知识点,需要结合书本才行。 文章目录八、转移指令的原理1. 操作符offset2. jmp指令2.1 依据位移进行转移的jmp指令2.2 转移的目的地址在指令中的jmp指令2.3 转移地址在寄存器中的jmp指令2.4 转移地址在内存中的jmp指令3. jcxz指令4. loop指令5. 编译器对转移位移超界的检测九、CALL 和 RET 指令 八、转移指令的原理 可以修改IP,或同时修改CS和IP的指令

ClimberCoding 840

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

王爽 汇编语言 第三章 实验二

(1)先用a命令写入程序 然后一直输T,就可以看到

ChenyangDu的博客 6669

汇编语言(王爽第三版) 第11章相关内容及实验11

第十一章 标志寄存器 文章目录第十一章 标志寄存器章节内容概述ZF标志PF标志SF标志CF标志OF标志DF标志adc/sbb指令cmp指令与检测比较结果的条件转移指令串传送指令pushf和popf指令标志寄存器在Debug中的表示实验11 编写子程序 章节内容 概述 主要介绍了标志寄存器和其中的CF,PF,ZF,SF,OF,DF标志位。 标志寄存器的作用: 用来储存相关指令的某些执行结果 ...

一只小空的博客 782

王爽老师汇编语言第四版十一章标志寄存器11.6-11.n

cmp是比较指令,相当于减法,只是不保存结果,执行结束后将对标志寄存器产生影响。flag的第十位,DF,方向标志位。在串处理指令中,控制每次操作后的si,di的增减。大多数转移指令都检测标志寄存器的相关标志位,他们通常和cmp结合使用,好比call。它的功能是将ds:[si]中的字数据传送到es:[di]中。cld指令:令df=0,也就是说执行完命令后让si和di加。其实就是将ds:[si]中的数据传送到es:[di]中。这俩指令的操作是让flag标志寄存器中的值入栈和出栈。

小白垃圾笔记2 384

王爽《汇编语言》核心实验完全导航:从寻址到中断到系统编程14个底层编程实战精解

本文摘要主要整理了王爽《汇编语言》教材中的实验内容,涵盖了内存寻址、结构化数据处理、中断处理、端口操作等核心知识点。重点实验包括:第七章的内存地址定位与字符串处理(实验7)、第九章的转移指令与显示控制(实验9)、第十章的子程序设计与数值显示(实验10)、第十一章的标志寄存器应用(实验11)、第十二至十六章的中断例程开发(实验12-16),以及第十七章的磁盘读写(实验17)和课程设计2的独立启动程序开发。这些实验由浅入深地展示了汇编语言在底层编程中的关键应用技术。

深耕计算机专业知识与技术。 683
上一篇: 汇编语言(王爽) 第10章 call和ret
下一篇: php命名空间
deng37021
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值