汇编语言cf,of,sf,zf

CF是无符号数溢出标志,OF是有符号数溢出标志。
CF是判断有无进位,有进位或者借位时,CF=1
OF是溢出判断,溢出时,OF=1,
ZF是判断结果是否为0,运算结果为0,则ZF=1
SF是判断正负数,运算结果为负数,则SF=1

具体讲解书上都有,而且本人理解和书上的也是差不多,有点繁琐。所以就简记下做题时发现的规律吧,不能保证正确,但是看到的题目套用目前是对的,可以参考下。

求和差及SF,ZF,CF,OF
7450h和1234h

1.7450h+1234h
7450h= 0111 0100 0101 0000 +
1234h= 0001 0010 0011 0100 =
8684h= 1000 0110 1000 0100
SF,ZF,CF,OF=1001

2.7450h= 0111 0100 0101 0000
-1234h= 0001 0010 0011 0100
= 621ch= 0110 0010 0001 1100
SF,ZF,CF,OF=0000
7450h= 0111 0100 0101 0000 +(1234h)补= 1110 1101 1100 1100 = 621ch= 1 0110 0010 0001 1100 SF,ZF,CF,OF=0000

3.7450h和5678h
7450h= 0111 0100 0101 0000 +
5678h= 0101 0110 0111 1000 =
cac8h= 1100 1010 1100 1000
SF,ZF,CF,OF=1001

4.7450h= 0111 0100 0101 0000 -
5678h= 0101 0110 0111 1000 =
1dd8h= 0001 1101 1101 1000
SF,ZF,CF,OF=0000
7450h= 0111 0100 0101 0000 +(5678h)补= 1010 1001 1000 1000 = 1dd8h= 1 0001 1101 1101 1000 SF,ZF,CF,OF=0000

5.7450h和9804h
7450h= 0111 0100 0101 0000 +
9804h= 1001 1000 0000 0100 =
0c54h=1 0000 1100 0101 0100
SF,ZF,CF,OF=0010

6.7450h= 0111 0100 0101 0000 -
9804h= 1001 1000 0000 0100 =
dc4ch= 1 1101 1100 0100 1100
SF,ZF,CF,OF=1011
7450h= 0111 0100 0101 0000 +(9804h)补= 0110 0111 1111 1100 = dc4ch= 0 1101 1100 0100 1100 SF,ZF,CF,OF=1011

7.7450h和e0a0h
7450h= 0111 0100 0101 0000 +
e0a0h= 1110 0000 1010 0000 =
54f0h= 10101 0100 1111 0000
SF,ZF,CF,OF=0010

8.7450h= 0111 0100 0101 0000 -
e0a0h= 1110 0000 1010 0000 =
93b0h= 11001 0011 1011 0000
SF,ZF,CF,OF=1011
7450h= 0111 0100 0101 0000 +(e0a0h)补= 0001 1111 0110 0000 = dc4ch= 0 1001 0011 1011 0000 SF,ZF,CF,OF=1011

下面是同一题,不同格式的差别,只针对OF,CF

(1) 85+69=01010101+01000101=10011010
of=1,cf=0
(2)85+(-69)=
0101 0101+
1011 1011=
1 0001 0000B=16,
of=0,cf=1

(3)85-(-69)=
0101 0101-
1011 1011=
1001 1010
of=1,cf=1(0-1,不够减,需要借位,所以CF=1)

(4)85-(69) of=0,cf=0

注意看每个数的二进制形式,对齐看更明显。

SF: 运算结果的二进制表示第一位是1,则SF是1,否则为0
ZF:这个最简单,只要运算结果不为0,ZF都是0,当运算结果是0时,ZF才为1
CF: 加法看有没有多出来的一位,比如八位数,运算结果有九位则为1,减法看第一位,0-1,不够减肯定要借位,CF=1
OF:溢出,加法运算看第一位的相加(对齐的那一行,不包括多出来的一位),001,110溢出,OF=1,减法也看第一位,减法的结果第一位与被减数相反,溢出OF=1,011,100

减法的话,尽量用算数本身的二进制,按照本身的算数值观察符号位,将被减数改成加法容易混淆(计算可以,符号位判断尽量按所给值)

汇编语言cf,of,sf,zf相关推荐

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

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

  2. 通用寄存器与标志位寄存器OF/DF/IF/TF/SF/ZF/AF/PF

    文章目录 1 通用寄存器 2 标志寄存器 2.1 CF 进位标志位 2.2 ZF 零标志位 2.3 SF 符号标志位 2.4 OF 溢出标志位 2.5 PF 奇偶标志位 2.6 AF 辅助进位标志 2 ...

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

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

  4. 四个标志位SF,ZF,OF,CF

    SF 结果为负,即符号位为1时SF=1,否则为0. ZF 结果为0,ZF=1,否则为0 CF 最高位进位,CF=1,不进位为0 OF 两操作数符号相同但结果与符号位相反,OF=1

  5. 标志寄存器 CF PF AF ZF SF OF TF IF

    标志寄存器,里面有众多标记位,记录了CPU执行指令过程中的一系列状态,这些标志大都由CPU自动设置和修改: CF 进位标志 MOV AL,0XFF ADD AL,1这个时候AL超出FF的最大值就进位了 ...

  6. CF、SF、OF、ZF标志位

    没学汇编,这种题我真是做一道错一道:-( OF(overflow flag) 溢出标志位 溢出标志位 OF = 1 表示带符号整数运算时结果发生溢出.对于无符号整数运算,OF没有意义. 对于有符号数的 ...

  7. 标志寄存器CF,OF,SF,ZF,PF以及相关练习

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

  8. 汇编语言中常用指令对标志位寄存器的影响

    参考了<汇编语言 基于x86处理器>第七版 转载请注明出处 如果有错误的地方请指正,谢谢. 文章目录 算术运算(ADD/SUB)影响标志位 ADD指令 SUB指令 NEG指令 INC/DE ...

  9. 汇编语言答案-王爽第三版

    汇编语言答案(王爽) 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位. (2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 . (3) ...

  10. 王爽汇编语言第三版答案

    转载自 https://blog.csdn.net/modiz/article/details/88776695 部分加上自己的分析,感谢 Modiz 汇编语言答案(王爽) 检测点1.1 (1)1个C ...

最新文章

  1. SSM框架之批量增加示例(同步请求jsp视图解析)
  2. Html一修改就会自动刷新,web 前端修改 自动刷新 插件使用 liveReload
  3. rosetta软件_苹果 Mac 换用 ARM,但不用担心跑 X86 软件会卡
  4. 【MFC】选择文件夹时,记忆上一次路径
  5. 进军中国软件,踏上寻找自我价值之路的菜鸟
  6. Python中包(package)的调用方式
  7. pythonchar中的拟合方法_在python中利用numpy求解多项式以及多项式拟合的方法
  8. 21 WBS元素报错-会计科目xxxxxx不能使用(请更正)
  9. 北航校赛2014 预赛 题解
  10. Go并发调用的超时处理
  11. Java 泛型完全解读
  12. Jupyter notebook、JypterLab的本地安装与使用
  13. [poj2449]Remmarguts' Date(spfa+A*)
  14. 遥控器油门摇杆电位器封装尺寸图
  15. Excel如何提取文本左边的数字
  16. 【AWS云从业者基础知识笔记】——模块10:云计算之旅
  17. 怎么在多层循环中直接跳出循环
  18. 80款FLASH小游戏合辑,附Flash播放器 | Yongd's Blognbsp;nbsp;分享网络好资源
  19. Celery 动态添加定时任务生产实践
  20. [激光器原理与应用-9]: 开关电源主要指标

热门文章

  1. python写歌词解析器 王菲-传奇
  2. 中学计算机课小课题,信息技术小课题研究题目大全
  3. java web批量下载
  4. 从 0 搭建 Vite 3 + Vue 3 前端工程化项目
  5. Matplotlib——线图_axis()函数
  6. ORACLE SQL 优化的若干方法详细
  7. 计算机组合名字大全集,好听的组合名字大全
  8. ubuntu安装docker + 配置国内源和加速器
  9. 正太分布函数 oracle,Oracle随机函数
  10. 【组队学习】【38期】组队学习内容详情!