TST、TEQ

ビットテストと等価テストです。

Show/hide構文

TST{cond} Rn, Operand2
TEQ{cond} Rn, Operand2

各項目には以下の意味があります。

cond

任意の条件コードを指定します。

Rn

第 1 オペランドを保持する ARM レジスタを指定します。

Operand2

フレキシブル第 2 オペランドを指定します。

Show/hide使用法

これらの命令は、レジスタ内の値を Operand2 に対してテストします。結果に基づいて条件フラグを更新しますが、結果はどのレジスタにも入れません。

TST 命令は Rn の値と Operand2 の値を使用してビットごとの論理積を取ります。結果が破棄されることを除けば、ANDS 命令と同じです。

TEQ 命令は Rn の値と Operand2 の値を使用してビットごとの排他的論理和(XOR)を取ります。結果が破棄されることを除けば、EORS 命令と同じです。

2 つの値が等しいかどうかをテストするには TEQ 命令を使用します。その際、CMP とは異なり、V フラグまたは C フラグに影響することはありません。

TEQ は値の符号をテストするのにも役立ちます。比較後の N フラグは、2 つのオペランドの符号ビットの排他的論理和(XOR)になります。

Show/hideレジスタの制約条件

これらの T32 命令では、Rn または Operand2 に SP または PC は使用できません。

これらの A32 命令では、SP または PC の使用は非推奨です。

A32 命令には、以下の制約条件が適用されます。

  • Rn に PC(R15)を指定している場合、使用される値は「命令のアドレス + 8」となります。

  • レジスタ制御シフトを行うデータ処理命令の場合は、オペランドに PC は使用できません。

Show/hide条件フラグ

これらの命令では、以下のようになります。

  • 結果に応じて N フラグおよび Z フラグを更新します。

  • Operand2 の計算中に C フラグを更新できます。

  • V フラグは更新しません。

Show/hide可用性

これらの 32 ビット命令は A32 および T32 で使用できます。

T32 では、TST 命令は 16 ビット命令として次の形式でのみ使用できます。

TST Rn, Rm

RnRm は共に Lo レジスタである必要があります。

Show/hide

    TST     r0, #0x3F8
    TEQEQ   r10, r9
    TSTNE   r1, r5, ASR r1

Show/hide誤用例

    TEQ     pc, r1, ROR r0      ; PC とレジスタ制御シフトは
                                ; 一緒に指定できない

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814