首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMP和flag旗

CMP和flag旗
EN

Stack Overflow用户
提问于 2017-06-18 23:07:24
回答 1查看 8.2K关注 0票数 3

处理器: MSP430 16位RISC

有人能解释一下CMP指令在什么时候实际设置了进位标志。从手册上说,

CMP(.B) src,dst .dst - src

如果src不等于dst,会设置进位标志吗?

代码语言:javascript
复制
cmp    r15, r11
jnc    #1234
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-19 06:46:27

用户指南说:

描述 从目标操作数中减去源操作数。这是通过将源+1的1s补码添加到目的地来实现的。结果只影响SR中的状态位。 … 状态位 C:如果有来自MSB的进位设置,否则重置

换句话说,如果存在无符号溢出,则设置C。

在跳转指令中也可以看到这一点: JC (跳转如果进位)和JHS (跳高或相同)是相同的指令,JNC (跳转如果没有进位)和JLO (跳转如果较低)。

示例表示,如果R5≥R6 (无签名),该程序将在Label2继续进行。 CMP R6,R5;R5 >= R6吗?给C JHS Label2的信息;是的,C=1.;不,R5 < R6。继续

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44620368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档