Thumb 状態での条件付き実行

ARMv6T2 より前のプロセッサの Thumb 状態では、条件分岐が条件付き実行用の唯一のメカニズムです。条件分岐命令を使用して条件付きで命令をスキップできます。

ARMv6T2 以降のプロセッサの Thumb 状態では、次の方法でも命令を条件付きで実行できます。

Thumb の CBZ(ゼロの条件分岐)命令および CBNZ(ゼロ以外の条件分岐)命令では、レジスタの値をゼロと比較し、その結果に基づいて分岐します。

IT は、条件コードの接尾文字を使用し、ALU フラグの値に基づいて、ほぼすべての Thumb 命令を条件付きで実行できるようにする 16 ビット命令です。各 IT 命令では、後続の命令を最大 4 つまで条件付きで実行できます。

Example 19. IT ブロックを使用した条件付き命令

    ; フラグは前の命令で設定される
    ITT   EQ
    LSLEQ r0, r0, #24
    ADDEQ r0, r0, #2
    ;…

Show/hide関連項目

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