汇编inc为什么不影响cf_为什么INC和DEC指令不会影响进位标志?
为了理解为什么你可能需要记住当前具有32位和64位值的“x86”处理器,它们开始成为更受限制的8位机器,回溯到英特尔8008处理器。 1973年,我还记得(唉)!)。
在那个世界上,寄存器是宝贵的和小的。你需要增加/减少用于各种目的,最常见的是循环控制。许多循环涉及到“多精度算术”(例如,16位或更多!)通过inc/dec设置Z位,可以使用它们很好地控制循环;通过坚持循环控制指令不改变进位位,进位在整个循环迭代中被保留,并且可以实现多精度运算而无需编写大量代码来记住进位状态。
这工作得很好,一旦你习惯了丑陋的指令集。
在更大的字大小的更现代的机器上,你不需要这么多,所以INC和DEC可以在语义上等同于ADD ...,1等等。实际上,当我需要进位设置: - }
大多数情况下,我远离INC和DEC走了,因为他们做的部分条件代码更新,这样就可以在管道中引起滑稽的摊位,和ADD/SUB没有。所以在哪里不重要(大多数地方),我使用ADD/SUB来避免摊位。我只在保持代码小的时候才使用INC/DEC,例如,适合一个或两个指令的大小足够重要的高速缓存行。这可能是毫无意义的纳米[字面上!] - 优化,但我在编码习惯上很老派。
我的解释告诉我们为什么INC/DEC设置零位。对于INC/DEC为什么设置符号(以及奇偶校验位),我没有特别的解释。
汇编inc为什么不影响cf_为什么INC和DEC指令不会影响进位标志?相关推荐
- 汇编inc为什么不影响cf,为什么INC和DEC指令不影响进位标志(CF)?
Why do the x86 instruction INC (increment) and DEC (decrement) not affect the CF (carry flag) in FLA ...
- dec-c 怎么改语言,汇编中的dec指令是什么指令
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:汇编中的dec指令是什么指令?回答:相当于c语言中的自减.如:dec R0就是说R0=R0-1.如果R0=5,那么运算过后,R0=4 ...
- 汇编程序设计与计算机体系结构软件工程师教程笔记:指令
<汇编程序设计与计算机体系结构: 软件工程师教程>这本书是由Brain R.Hall和Kevin J.Slonka著,由爱飞翔译.中文版是2019年出版的.个人感觉这本书真不错,书中介绍了 ...
- 汇编 and or xor not test cmp 条件跳转指令 jcc
布尔和比较指令 and and destination, source and reg, reg/mem/imm and mem, reg/imm mov al, 10101110b and al, ...
- order by 影响效率么_内存碎片对性能的潜在影响
去年年底,我们曾经遇到过这个问题.在搞清楚这个问题的来龙去脉后,我尝试用本文来描述这个问题的根源和影响,并分享出来.看完要记得点赞或是评论哟! 内存分配的过程 用户态的程序调用 malloc 函数申请 ...
- 为什么INC,DEC指令不影响CF标志位呢?
引言 我们知道执行算数运算指令的时候,当结果的最高位与进位或者借位时会把状态寄存器FLAGS的CF位置为1,否则置为0,但是为什么INC和DEC这样的指令不影响CF标记位呢? 怀着对这个问题的疑惑,在 ...
- 计算机主板大小性能区别,主板对CPU的影响大吗?聊聊主板对电脑性能影响有多大...
一般来说,决定电脑性能的核心硬件主要是CPU.显卡.内存以及硬盘等硬件,因此关乎电脑性能的时候,我们很少会提到主板.那么是否意味主板对CPU.显卡.内存.硬盘或者说电脑性能就没有影响呢?答案是否定的, ...
- 残疾对计算机网络应用技术有影响吗,论计算机技术对残障人士的影响及发展
[摘要]计算机技术的发展,为残障人士带来了福音.先进的计算机技术不仅给普通人带来了更多的便利,而且给残疾人也带来了巨大的改变,如果能更加有效的利用计算机技术,那么这将改变残疾人的生活状况,对他们的生活 ...
- 分布式发电对配电网的影响 研究分布式电源对配电网网损的影响
分布式发电对配电网的影响 研究分布式电源对配电网网损的影响 分布式电源容量对网损的影响 分布式电源位置对网损的影响 分布式电源对配电网电压支撑作用 分布式电源接入位置对配电网电压作用 分布式电源容量对 ...
最新文章
- Tabhost嵌套以及Tab中多个Activity跳转的实现
- 移动应用用户使用成本控制管理
- deepin系统中.txt文件图标显示内容问题_deepin从兴致勃勃到彻底放弃
- Python 3 并发编程多进程之进程同步(锁)
- 工程验收工作笔记001---系统等保级别_系统等级保护
- 关于用FOMR提交编码的问题
- oracle 删除jobs日志,修改Oracle的Job Scheduler 日志级别及删除运行日志
- 从点击一个链接到浏览器显示页面,这个过程中发生了什么?
- Java HashMap原理
- Python实验-字典攻击
- 2022年全国大学生电子设计大赛省赛A题
- Layout state should be one of 100 but it is 10
- git--取消文件跟踪(Tracked改为Untracked)
- 向工程腐化开炮 | manifest 治理
- PHP生成腾讯云API签名
- python毕业设计总结范文大全_java毕业设计总结报告(精选范文3篇)
- 多模态逆天图片生成,OpenAI又一力作:DALL·E 2
- 《神雕侠侣》——一见杨过误终生,格格一笑很倾城
- catia曲面扫掠命令详解_4.3.3.15-扫掠曲面之二次曲线_两条引导线扫略
- 3dmax2014植树插件_3DsMax种树插件:ForestPack Pro v6.1.2 For 2015-2019 updated Libraries