MSP430 JC,JNC,JEQ和JNZ

时间:2014-10-15 15:45:21

标签: assembly msp430 instruction-set

我正在查看MSP430的指令集,偶然发现了一些我无法理解的内容。我似乎无法区分JC和JNZ以及JNC和JEQ之间的区别。我理解JEQ和JNZ的功能,但我对JC和JNC的使用有点模糊。

我知道事实上JC和JNC使用了进位标志,但我不确定它使用的方式以及它们与JNZ和JEQ的区别。

1 个答案:

答案 0 :(得分:2)

JC = Jump if carry set (C=1)
JNC = Jump if carry is not set (C=0)
JZ = Jump if zero-flag is set
JNZ = Jump if zero-flag is not set

JEQ = Jump if equal => another 'name' for JZ
(There are many instruction aliases').

当您添加两个最高位设置的数字时,您最终会得到比原始数字长一位的结果。这个新位"去#34;携带。它也被用作减法中的借旗。除了不存储结果值之外,Compare与减法相同。

这就是SBC对旗帜所做的事情:

Status Bits N: Set if result is negative, reset if positive
Z: Set if result is zero, reset otherwise
C: Set if there is a carry from the MSB of the result, reset otherwise.
Set to 1 if no borrow, reset if borrow.
V: Set if an arithmetic overflow occurs, reset otherwise.