3.5.2. AND, ORR, EOR, BIC, and ORN

Logical AND, OR, Exclusive OR, Bit Clear, and OR NOT.

Syntax

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

Where:

op

Is one of:

AND

Logical AND.

ORR

Logical OR, or bit set.

EOR

Logical Exclusive OR.

BIC

Logical AND NOT, or bit clear.

ORN

Logical OR NOT.

S

Is an optional suffix. If S is specified, the condition code flags are updated on the result of the operation, see Conditional execution.

cond

Is an optional condition code. See Conditional execution.

Rd

Is the destination register. If Rd is omitted, the destination register is Rn.

Rn

Is the register holding the first operand.

Operand2

Is a flexible second operand. See Flexible second operand for details of the options.

Operation

The AND, EOR, and ORR instructions perform bitwise AND, Exclusive OR, and OR operations on the values in Rn and Operand2.

The BIC instruction performs an AND operation on the bits in Rn with the complements of the corresponding bits in the value of Operand2.

The ORN instruction performs an OR operation on the bits in Rn with the complements of the corresponding bits in the value of Operand2.

Restrictions

Do not use SP and do not use PC.

Condition flags

If S is specified, these instructions:

  • Update the N and Z flags according to the result.

  • Can update the C flag during the calculation of Operand2, see Flexible second operand.

  • Do not affect the V flag.

Examples

    AND     R9, R2, #0xFF00
    ORREQ   R2, R0, R5
    ANDS    R9, R8, #0x19
    EORS    R7, R11, #0x18181818 
    BIC     R0, R1, #0xab    
    ORN     R7, R11, R14, ROR #4    
    ORNS    R7, R11, R14, ASR #32
Copyright © 2015, 2018 Arm. All rights reserved.ARM DUI 0646C
Non-ConfidentialID121118