关于进位和溢出,我一直分不清楚,直到最近重新学习汇编语言,我对这两个概念产生了新的理解。
下面是代码,我把说明放在代码注释中了。

;//数据传输示例
.386
.model flat, stdcall
.stack 4096
ExitProcess PROTO, dwExitCode:DWORD.data.code
main PROC;// 前提:CPU不知道一个数是“有符号”还是“无符号”,这些概念是程序员定义的,程序员可以“选择性”地忽略一些标志位。;// 进位是无符号数的概念
mov eax, 0
mov al, 0FFh        ;// 255
add al, 1           ;// CF = 1;// 溢出是有符号数的概念
mov eax, 0
mov al, +127       ;// 7F
add al, 1           ;// OV = 1, CF = 1;// 可以这样理解:0FF是255,已经超出了有符号数的最大范围+127,所以它只能是无符号数255,因此没有溢出
;// 对于+127,显式指定这是个有符号数,而且的确在范围内,因此这就是有符号数,就有溢出的概念;// 另外对于+127,加1也会产生进位,这是因为 +127 是“有符号”还是“无符号”由程序员决定,
;// 如果程序员认为这是一个无符号数,那么关心进位标志位,忽略溢出标志位;
;// 如果程序员认为这是一个有符号数,那么关心溢出标志位,忽略进位标志位。INVOKE ExitProcess, 0
main ENDP
END main

这些理解是我个人思考的结果,不保证绝对准确!
如果我的理解不对,希望您能指出,非常感谢!

我对汇编中进位和溢出的理解相关推荐

  1. 无符号数、有符号数、补码在汇编中的运用及相关注意事项

    1.原码.反码.补码知识的复习: 三者的最高位均为符号位.我以前一直没弄明白的是为何8位补码的表示范围是-128~127,今天查阅了相关资料,于此记下. 仍然以8位为例: 原码的表示范围:-127~- ...

  2. 汇编中各寄存器的作用(16位CPU14个,32位CPU16个)和 x86汇编指令集大全(带注释)

    From:https://www.cnblogs.com/zimmerk/articles/2520011.html From:https://blog.csdn.net/bjbz_cxy/artic ...

  3. 汇编中各寄存器的作用(16位CPU14个,32位CPU16个)和 x86汇编指令集大全(带注释)...

    From:https://www.cnblogs.com/zimmerk/articles/2520011.html From:https://blog.csdn.net/bjbz_cxy/artic ...

  4. 逆向知识第七讲,三目运算符在汇编中的表现形式,以及编译器优化方式

    一丶编译器优化方式 首先说一下编译器优化方式. 1.常量折叠 2.常量传播 3.复写传播 4.公共表达式 5.去掉不可达到分支 6.顺序代替分支 7.数学变化 8.代码外提 9.减少变量. 10 强度 ...

  5. web前端培训:CSS中单行文本溢出显示省略号的方法

    CSS中单行文本溢出显示省略号的方法你知道吗?在web前端技术学习中,这个问题其实是属于老生常谈了,因为css单行文本的应用是非常频繁的,比如网站最基本的文章列表,标题会很长,而显示列表的区域宽度却没 ...

  6. ​Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子​

    作者 l 会点代码的大叔(CodeDaShu) JAVA中的内存溢出和内存泄露分别是什么,有什么联系和区别,让我们来看一看. 01 内存泄漏 & 内存溢出 1. 内存泄漏(memory lea ...

  7. 汇编中Enter和Leave指令

    Enter的作用相当==push ebp和mov ebp,esp 这后面两句大家很熟悉吧?函数开始一般都是这两句 Leave的作用相当==mov esp,ebp和pop ebp 而这后面这两句也很常见 ...

  8. 逆向知识十三讲,汇编中数组的表现形式,以及还原数组

    讲解数组之前,要了解数组的特性 1.数据具有连续性 2.数据类型相同 比如: int Ary[3] = {0,1,2}; 我们可以看出,上面定义的数组,数据是连续的,其中每个数据类型大小都是int类型 ...

  9. 汇编中的DW:DW 定义一个字

    汇编中的DW是什么意思?那DB呢 DW 定义一个字 DB 定义一个字节 DD 定义一个双字 前面的D表示定义,后面的字母W .B .D依次表示字(一般为16位).字节(为8位).双字(一般为32位)

最新文章

  1. 蚊子已经很可怕了,而这些吸血昆虫能让你感受真正的恐惧
  2. Android内存控制小技巧-使用矢量图来节省你的内存并简化你的开发。
  3. 怎么区分五类线、超五类线和六类线
  4. 【完结】 12篇文章带你完全进入NLP领域,掌握核心技术
  5. 你的灯亮着吗?阅读笔记之一
  6. 第一次冲刺-站立会议03
  7. 2013年蓝桥杯真题
  8. atitit.信息系统方案规划 p71.doc
  9. 【C++从青铜到王者】第二十七篇:特殊类设计
  10. 卷积编码的原理与MATLAB及FPGA实现
  11. Excel数据分析--客户对象分析
  12. 遥感图像计算机分类论文,遥感影像和监督分类论文,关于基于监督分类的土地利用遥感影像提取方法相关参考文献资料-免费论文范文...
  13. Linux中drwxr-xr-x.的意思和文件权限详解
  14. 思维导图训练孩子逻辑思维能力的方法
  15. 《乐跑宝典》读书笔记
  16. 基于 Python 使用 CNN 实现身份证汉字和数字识别
  17. 微信小程序iphone11 wx.openBluetoothAdapter 返回状态10001 当前蓝牙适配器不可用
  18. 国产Google地球如何下载2021版谷歌高清卫星地图?
  19. hadoop+zookeeper+Hbase+spark安装部署总结
  20. 怎样做好机房的电磁屏蔽?

热门文章

  1. 时间周期 java_周期和持续时间 / Period and Duration
  2. Algorithm:机械优化设计的数学模型简介、常用优化方法、优化计算工具简介之详细攻略
  3. 成功解决eric6-EditorConfig Properties The EditorConfig properties for file h5py\numpy.pxd could not be l
  4. NLP之NBGBT:基于朴素贝叶斯(count/tfidf+网格搜索+4fCrva)、梯度提升树(w2c+网格搜索+4fCrva)算法对IMDB影评数据集进行文本情感分析(情感二分类预测)
  5. BlockChain:《区块链技术在医疗领域应用分析》—中投顾问《2016-2020年区块链技术深度调研及投资前景预测报告》听课笔记
  6. IDE之Eric:Python的IDE之eric的简介、安装、使用方法之详细攻略
  7. 成功解决当Win10系统进行深度学习的时候发现系统C盘满了,教你如何正确卸载一些非必要的内容
  8. ndnarry元素处理
  9. js/jquery判断浏览器 停止加载
  10. HashMap HashTable HashSet区别剖析