首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msp430中的进位

msp430中的进位
EN

Stack Overflow用户
提问于 2016-01-24 03:21:57
回答 2查看 1.4K关注 0票数 1

我正在为微控制器msp430编写模拟器。我不明白什么时候设置进位。例如,在add指令中:1+0x7FFF设置进位或1+0xFFFF

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-24 10:12:47

对于ADD指令,在无符号溢出时设置进位。

您可以从TI文件中的示例中推断出这一点。特别是,ADD指令(第3至22页)文档中的第二个示例指出,如果结果大于0xff (对于ADDADDA,限制分别为0xffff0xfffff - 8、16和20位),则在ADD.B上进行:

代码语言:javascript
复制
ADD.B           #10,R5     ; Add 10 to Lowbyte of R5
JC TONI                    ; Carry occurred, if (R5)  ≥  246 [0Ah+0F6h]
......                     ; No carry

除了进位外,msp430状态寄存器中还有一个负位这一事实证实了这一点。

至少有几个现有的开源MSP430模拟器,即mspsim和Avrora。我建议将它们用作参考实现。

票数 0
EN

Stack Overflow用户

发布于 2016-01-24 09:08:12

有两个不同的指令实现<,JL (跳转如果少)和JLO (跳转如果较低)。

JL的文档显示

允许比较有符号整数。

JLO的文档显示

用于比较无符号数字。

JLO与JNC相同,因此C是无符号进位。

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

https://stackoverflow.com/questions/34971844

复制
相关文章

相似问题

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