AND、ORR、EOR、BIC、ORN

論理積、論理和、排他的論理和(XOR)、ビットクリア、および論理和否定です。

Show/hide構文

op{S}{cond} Rd, Rn, Operand2

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

op

次のいずれかを指定します。

AND

論理積

ORR

論理和

EOR

排他的論理和(XOR)

BIC

論理積否定

ORN

論理和否定(T32 のみ)

S

任意に指定できる接尾文字です。S が指定されている場合は、演算結果に基づいて条件フラグが更新されます。

cond

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

Rd

デスティネーションレジスタを指定します。

Rn

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

Operand2

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

Show/hide使用法

ANDEOR、および ORR の各命令は、RnOperand2 の値に対し、それぞれビットごとの論理積、排他的論理和(XOR)、および論理和を取ります。

BIC(ビットクリア)命令は、Rn 内のビットと、Operand2 の値に含まれる、対応する各ビットの補数との論理積を取ります。

ORN T32 命令は、Rn 内のビットと、Operand2 の値に含まれる、対応する各ビットの補数との論理和を取ります。

状況によっては、アセンブラが BICAND に、ANDBIC に、ORNORR に、ORRORN に置き換える場合があります。逆アセンブルリストを参照するときは、この点に注意して下さい。

Show/hideT32 命令での PC の使用

すべての命令で、Rd、または任意のオペランドに PC (R15)は使用できません。

Show/hideA32 命令での PC および SP の使用

これらの A32 命令では PC および SP の使用は非推奨です。

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

Rd に PC を指定した場合、以下のようになります。

  • 演算結果に対応するアドレスへの分岐が実行されます。

  • S 接尾文字を使用する場合は、SUBS pc,lr 命令を参照して下さい。

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

Show/hide条件フラグ

S が指定されている場合、これらの命令では、以下のようになります。

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

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

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

Show/hide16 ビット命令

これらの命令は、T32 コード内では次の形式で使用できます。これらは 16 ビット命令です。

ANDS Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック以外でのみ使用できます。

AND{cond} Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック内でのみ使用できます。

EORS Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック以外でのみ使用できます。

EOR{cond} Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック内でのみ使用できます。

ORRS Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック以外でのみ使用できます。

ORR{cond} Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック内でのみ使用できます。

BICS Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック以外でのみ使用できます。

BIC{cond} Rd, Rd, Rm

RdRm は共に Lo レジスタである必要があります。この形式は IT ブロック内でのみ使用できます。

BIC{S} 以外は、OP{S} Rd, Rm, Rd を指定しても問題はありません。命令は変わりません。

Show/hide

    AND     r9,r2,#0xFF00
    ORREQ   r2,r0,r5
    EORS    r0,r0,r3,ROR r6
    ANDS    r9, r8, #0x19
    EORS    r7, r11, #0x18181818
    BIC     r0, r1, #0xab
    ORN     r7, r11, lr, ROR #4
    ORNS    r7, r11, lr, ASR #32

Show/hide誤用例

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

Show/hide関連項目

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