条件コードの接尾文字

条件付きにできる命令には、任意で条件コードを指定できます。構文の説明では、条件コードを {cond} と表記しています。この条件は、ARM 命令にエンコードされ、Thumb 命令の先行する IT 命令にエンコードされます。条件コードが指定されている命令は、APSR の条件コードフラグが、指定した条件を満たしている場合にのみ実行されます。

ARMv6T2 より前のプロセッサの Thumb 状態では、{cond} フィールドは特定の分岐命令でのみ使用できます。これは、これらのプロセッサには、IT 命令がないためです。

以下の表に、使用できる条件コードと、それらが依存するフラグを示します。

Table 17. 条件コードの接尾文字

接尾文字フラグ意味
EQZ セット等しい
NEZ クリア等しくない
CS または HSC セット以上(符号なし >=)
CC または LOC クリア未満(符号なし <)
MIN セット
PLN クリア正または 0
VSV セットオーバーフロー
VCV クリアオーバーフローなし
HIC セットかつ Z クリアより大きい(符号なし >)
LSC クリアまたは Z セット以下(符号なし <=)
GEN = V符号付き >=
LTNV符号付き <
GTZ クリア、N = V符号付き >
LEZ セット、NV符号付き <=
ALすべて無条件(通常は省略します)

以下に、条件付き実行の例を示します。

Example 20. 

    ADD     r0, r1, r2    ; r0 = r1 + r2 を実行し、フラグを更新しない
    ADDS    r0, r1, r2    ; r0 = r1 + r2 を実行し、フラグを更新する
    ADDSCS  r0, r1, r2    ; C フラグがセットされている場合、r0 = r1 + r2 を実行し、フラグを更新する
    CMP     r0, r1        ; r0-r1 に基づいてフラグを更新する

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311