2017-06-18 13 views
1

プロセッサ:MSP430は、16ビットRISCCMPフラグを運ぶ

誰かがキャリーフラグが実際に以下に設定されている場合の面でCMP命令を説明することができます。それが言うマニュアル、

CMP(.B)SRC、DST ..... DSTから - srcがdstのに等しくない場合、SRC

、キャリーフラグがセットされるのですか?

cmp r15, r11 
jnc #1234 
+2

大きいこれに依存... 'R11 Jester

+0

このコンテキストでは、減算(dst-src)別名(r11 - r15)の結果が負の値になる場合にのみキャリーフラグが設定されますか? –

+0

はい、そうです。符号なし算術に注意してください。 – Jester

答えて

2

ユーザーズ・ガイドは言う:

説明
ソースオペランドがデスティネーション・オペランドから減算されます。これは、送信元の1の補数+ 1を宛先に を追加することによって行われます。結果は、SR内のステータス ビットにのみ影響します。
[...]
ステータスビット
C:符号なしオーバーフローがある場合にはMSBからキャリーがある場合、すなわち、さもなければ

リセットセットは、Cが設定されています。

JNC(キャリージャンプ)とJLO(ジャンプが高い場合は同じ)がJNC(キャリーなしの場合)とJLO(下位の場合ジャンプ)と同じ命令です。 。

        R5≥R6(符号なし)場合、プログラムはLabel2から継続します。

CMP R6,R5  ; Is R5 >= R6? Info to C 
JHS Label2  ; Yes, C = 1 
...    ; No, R5 < R6. Continue 
関連する問題