首页 > 解决方案 > MSP430 中的进位标志混淆

问题描述

  "mov #10,r5\n"
  "sub #1,r5\n" //test value

我在硬件中运行,当 'sub' exec 时,设置了进位标志。为什么?

在此处输入图像描述

标签: assemblymsp430carryflag

解决方案


当涉及到减法时,进位标志与加法相比是相反的。如果值环绕,则将进位设置为 0。如果没有(如您的示例中所示),则将其设置为 1。

不幸的是,在阅读处理器手册时,这并不是 100% 清楚的。但是,此行为与其他处理器一致,例如 6502。


推荐阅读