第二篇 溢出标志 CF与OF

2023-10-27

在汇编学习中,个人感觉CF与OF这两个溢出标志还是有点难理解的。笔者也还是一知半解,若有错误之处,

请指正!

 

一、学习CF与OF,要始终牢记一点。CF是无符号数溢出标志,OF是有符号数溢出标志。

通俗一点说就是,即使有符号数相加/相减导致了CF=1也没什么意义,不能说明结果的正确与否。此时,OF=1,

则说明结果溢出,出现错误;OF=0,说明结果正确。这个过程根本和CF没关系,CF=1/0,都不会影响。同理也

可以得出OF对无符号数也无影响。

举个例子:

[9-6]补=[9]补-[6]补=[9]补+[-6]补

[9]补-[6]补

                00001001

            -   00000110

            ——————

                 00000011

            此时,OF=0,CF=0

 

[9]补+[-6]补

              00001001

          +  11111010

           ——————

           1  00000011

           此时,OF=0,CF=1

大家可能已经发现了,通过公式将减法转换成加法,貌似不完全等价,因为CF不同。

其实不然,CF的值不影响结果,此时不论是加法还是减法都是有符号数。不论CF=1/0,只要OF=0,

结果都是正确的。当然,还有一点值得注意。毕竟CF在两种计算方法中取值不同,如果有条件跳转

指令的话,程序的执行可能会受到影响。

 

二、简单介绍下CF与OF的计算方法

1、CF的判断

①加法

十进制角度,如果两无符号数相加,结果大于2^n-1(n为位数),则CF=1,否则CF=0;

二进制角度,如果两无符号数相加,最高位向前有进位,则CF=1,否则CF=0。

②减法

十进制角度,如果两无符号数相减,减数大于被减数(也即结果不在0—2^n-1内),则CF=1,否则CF=0;

二进制角度,如果两无符号数相减,最高位向前游借位,则CF=1,否则CF=0。

2、OF的判断

①加法

十进制角度,如果两有符号数相加,结果不在-2^(n-1)~2^(n-1)-1内,则OF=1,否则OF=0;

二进制角度,如果两有符号数同号,而相加结果与之异号,则OF=1,否则OF=0。

②减法

十进制角度,如果有符号数相减结果在-2^(n-1)~2^(n-1)-1内,则OF=1,否则OF=0;

二进制角度,如果两个数异号,而相减结果与被减数符号相反,则OF=1,否则OF=0。

 

三、这里值得一提的是,在第二部分介绍的计算规则,说白了都是为了方便人的计算。而在计算机中,

CPU根本不知道参与运算的数是有符号的还是无符号的。它只是按照一定的指令、一定的规则来计算,

然后设置标志、运用标志。

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第二篇 溢出标志 CF与OF 的相关文章

  • Android开发从入门到精通(3)

    第三章 下载和安装Android SDK 下载和安装Android SDK 第三章 1 关键技能和概念 下载Android SDK 使用Eclipse的可升级特性 为Eclipse下载 安装并配置Android Plugin 检查PATH声
  • 关于Dev c++的简单设置

    一 添加初始源代码 可以在工具 编辑器选项 代码 缺省源中添加初始源代码 这样每次打开软件都会帮你写好C语言必须的几行代码 二 调整代码对齐格式 在格式化选项中可以调整代码格式 我选择了allman风格 默认为Java 在编辑代码时 按住c
  • SA 后缀数组 / SAM 后缀自动机 c++ 模板

    文章目录 前言 代码 1 SA 2 SAM 前言 SA 后缀数组模板 SAM 后缀自动机模板 代码 1 SA include
  • Vue SEO优化之预渲染

    SPA 只有一个html文件的web应用 特点 只有一个html 所有内容在这里展现 html文件只加载一次 用户操作不会让页面重新加载 通过动态更新页面内容的方式呈现不同内容 优 交互好 局部更新 不重新加载 前后端分离 前端页面 后端数
  • 十大人工智能技术

    人工智能通过创新技术改变了我们的生活方式 人工智能在每个行业都掀起了风暴 并对社会的每个部门都产生了深远的影响 人工智能术语一词最早是在1956年的一次会议上创造的 会议的讨论导致了跨学科信息技术自然语言生成学 互联网的出现帮助技术呈指数级
  • 前端开发ps软件及蓝湖的基本使用

    首先 需要先下载蓝湖插件及ps软件 蓝湖官网 https lanhuapp com ps软件 蓝湖使用方法 在官网下载Photoshop插件 并安装 在蓝湖官网注册账号和密码 并登录 下载完成以后 重启ps软件 在 窗口 扩展 蓝湖 打开
  • VUE 在一个组件中引用另外一个组件的两种方式

    下面有两种方法 方法一 代码如下
  • C++图书管理系统,数据结构课程设计(含源码、报告)

    数据结构课程设计 题目 图书管理系统 目 录 一 实验概述 1 1 实验题目 1 2 基本要求 1 3 问题描述 二 详细设计 2 1 数据结构的设计 2 1 1 图书信息的存入 2 1 2 学生信息存入 2 2 算法的设计思想及流程图 2
  • SQLi LABS Less 10 时间盲注

    第十关是双引号字符型注入 推荐使用时间盲注 一 功能分析 二 思路分析 三 解题步骤 方式一 时间盲注 第一步 判断注入条件 第二步 判断长度 第三步 枚举字符 脱库 一 功能分析 二 思路分析 页面无显示位 不适合联合注入 页面不显示数据
  • Git提交代码到别人的仓库——详细版

    1 打开别人的GitHub网址 2 先登录你的账号 显示你的头像的时候再点击Fork 2 1 这是Fork前的 Fork前的是别人的头像 2 2 这是Fork后的 Fork后的是你自己的头像 3 复制这个网址 4 进入你的D盘或U盘 5 右
  • HTML5编写旅游网页

    网页样例 代码 table align center tr td img src images top banner jpg alt td tr table
  • QML——添加自定义模块

    一 模块的定义 在使用QML时 我们常常看到类似这样的语句 import QtQuick 2 0 import QtSensors 5 0 通过这些import语句 我们就能使用QML中的相关控件了 其实这就是导入模块的意思 它包括3个部分
  • Eclipse导入Maven项目pom.xml第一行报错

    导入Maven项目pom xml第一行报错 eclipse导入maven项目后 pom xml文件第一行报错 具体报错信息如下 org apache maven archiver MavenArchiver getManifest org
  • 推荐一个无缝背景花纹资源站-AVA7 PATTERNS

    随着用户显示器分辨率的逐渐增大 网站的背景设计也越来越重要了 如果你的网站背景还在使用单调的白色作为背景 那你也许忽视了那些使用大分辨率的用户 他们看到的是网站内容和一大片白色 今天暴风彬彬要向大家推荐一个背景花纹资源站 AVA7 PATT
  • Log4j(三)——Log4j配置文件位置详解

    自动加载配置文件 1 如果采用log4j输出日志 要对log4j加载配置文件的过程有所了解 log4j启动时 默认会寻找source folder下的log4j xml配置文件 若没有 会寻找log4j properties文件 然后加载配
  • H264/AVC-帧内预测

    I宏块使用帧内预测编码压缩数据 根据相邻宏块数据恢复当前宏块信息 值得注意的一点是 帧内预测所参考的相邻宏块数据是deblocking之前的像素值 因为上一宏块的deblocking依赖当前宏块像素值 但当前宏块数据还未重建 1 帧内预测类
  • 微信推送模板消息报错,40001,invalid credential, access_token is invalid

    微信报错 40001 invalid credential access token is invalid or not latest hint BzKHIa0609vr29 最近在搞微信公众号的开发 批量推送推送模板消息 遇到此问题 找了
  • QT将数据写入文件,日志记录

    项目场景 在QT应用中 有时候需要将错误信息记录在log文件里面 或者需要将数据输出到文件中进行比对查看使用 创建log文件 如果文件存在则不创建 QDir dir QCoreApplication applicationDirPath r
  • 使用vue解决vs编辑器格式化分号逗号问题

    添加 插件在设置中搜索 插件 进入之后编写 editor fontSize 18 workbench colorTheme Solarized Light vetur format defaultFormatterOptions prett

随机推荐

  • 国行Filco圣手二代windows连接失效的解决方案

    1 同时按下 Ctrl Alt Fn 配对LED灯 蓝 和低电量显示LED灯 红 约同时亮10秒左右 10秒内 数字键1 4按下任一键选择连接通道 2 配对LED灯 蓝 和低电量显示LED灯 红 来回闪烁约4秒 LED灯熄灭后 按下键盘背面
  • SpringBoot之发送和接收Json格式的HTTP请求

    1 添加fastjson的依赖到pom xml中
  • Windows server 2016——权限管理与数据恢复

    作者简介 一名云计算网络运维人员 每天分享网络与运维的技术与干货 公众号 网络豆 座右铭 低头赶路 敬事如仪 个人主页 网络豆的主页 目录 写在前面 一 SQL server 的安全机制 1 设置 SQL server 权限 2 登录权限设
  • C++(入门基础)缺省参数、函数重载、引用、内联函数

    文章目录 一 命名空间 命名空间定义 命名空间使用 二 缺省参数 备胎 全缺省参数 半缺省参数 三 函数重载 四 引用 引用权限的放大和缩小 引用的特性 常引用 引用的使用 引用和指针的区别 五 内联函数 内联的特性 宏的优缺点 c 有哪些
  • CUDA 入门教程

    CUDA从入门到精通 零 写在前面 在老板的要求下 本博主从2012年上高性能计算课程开始接触CUDA编程 随后将该技术应用到了实际项目中 使处理程序加速超过1K 可见基于图形显示器的并行计算对于追求速度的应用来说无疑是一个理想的选择 还有
  • Redhat7.6中Oracle19c单机版安装

    最近在学习Oracle19c的安装中 借鉴博客 从中遇到了问题并整理 避免踩坑 环境前的配置及oracle应用的安装 转载 redhat7 6Linux安装Oracle19C完整版教程 tomhaha 博客园 在配置数据库实例的时候 转载
  • React合成事件(阻止冒泡stopImmediatePropagation)

    文章目录 一 遇到的问题 问题描述 分析 二 React 合成事件 1 执行顺序 2 合成事件阻止冒泡 2 1e stopPropagation 2 2 e nativeEvent stopImmediatePropagation 3 th
  • java 整合 Elastic 8.

    1 准备工作 使用docker 快速搭建的环境 官网docker compose 方式搭建的集群 设置了密码登录 elastic elastic 需要给jdk 导入证书 找到 证书对应目录 复制到桌面 主要导入下面2个证书 执行如下命令 k
  • 输入学生学号、姓名、三科成绩计算出平均分保存至指定文件中

    include
  • baichuan-53B VS ChatGLM-6B对比

    由于百川智能的内测模型是baichuan 53B 尽管模型大小不一致 为了方便 我们仍然选择百川智能baichuan 53B与ChatGLM 6B内测结果进行对比 其中ChatGLM 6B的结果来自https github com THUD
  • 常见编程错误

    编码示例 内存相关 内存相关 1 scanf d val 读一个整数到一个变量 正确应当传递变量地址 2 bss内存位置 诸如未初始化的全局X变量 总是被加载器初始化为0 但是对于堆内存却并不是这样的 需要程序员显示地将分配的堆内存初始化
  • 【智能时代的颠覆】AI让物联网不再是物联网

    自我介绍 我是秋说 研究人工智能 大数据等前沿技术 传递Java Python等语言知识 主页链接 秋说的博客 学习专栏推荐 MySQL进阶之路 C 刷题集 网络安全攻防姿势总结 欢迎点赞 收藏 留言 如有错误敬请指正 引言 人工智能 AI
  • iscsi删除已失效的链路

    有套rac环境 主机连接存储使用的iscsi方式 使用了一段时间 客户感觉网络设计不合理 需要调整网段vlan和ip地址 首先关闭实例和集群 调整存储端和主机端的ip地址和vlan 调整后可以ping通 使用如下命令配置 两台主机都需要配置
  • MyBatis自动生成实体类(逆向工程)

    mybatis自动生成代码工具 逆向工程 MyBatis自动生成实体类 逆向工程 MyBatis属于一种半自动的ORM框架 它需要我们自己编写sql语句和映射文件 但是编写映射文件和sql语句很容易出错 所以mybatis官方提供了Gene
  • 计算机视觉之三维重建(三)(单视图测量)

    2D变换 等距变换 旋转平移 保留形状 面积 通常描述刚性物体运动 相似变换 在等距变换的基础增加缩放特点 射影变换 共线性 四共线点的交比保持不变 仿射变换 面积比值 平行关系等不变 仿射变换是特殊的射影变换 影消点与影消线 2D无穷远点
  • 《C陷阱与缺陷》学习笔记

    C编译器判断符号的方式是 贪心法 即一直读入下一字符 看能否组成一个符号 直到不可能组成一个符号为止 单引号括起的一个字符表示一个整数 双引号括起的一个字符代表一个指针 float g g是一个函数 该函数的返回值类型为指向浮点数的指针 f
  • 日本核污水排海:普通民众的个人防护指南

    面对日本核污水排海的问题 普通民众需要采取一些个人防护措施 以确保自身的健康与安全 本文将提供一些实用的指南 帮助普通民众做好个人防护 减少潜在的风险 一 了解核污水排放的情况 首先 我们需要充分了解关于核污水排放的背景 科学依据以及相关的
  • SpringMVC:整合JQUERY与JSON

    原文地址 http liuzidong iteye com blog 1069343 参考资料 1 Spring3 MVC 笔记 二 json rest优化 http 7454103 iteye com show full true 2 j
  • 本翻译专栏的说明

    我是一名计算机专业在校学生 主攻C 我英语水平一般 请大家轻喷 我会利用课余时间来翻译cplusplus网站中我感兴趣的内容 最后 祝大家看得开心 有所收获 2023年3月27日制定的翻译计划 Reference的C library的
  • 第二篇 溢出标志 CF与OF

    在汇编学习中 个人感觉CF与OF这两个溢出标志还是有点难理解的 笔者也还是一知半解 若有错误之处 请指正 一 学习CF与OF 要始终牢记一点 CF是无符号数溢出标志 OF是有符号数溢出标志 通俗一点说就是 即使有符号数相加 相减导致了CF