10.68 ORN (Thumb only)

Logical OR NOT.


ORN{S}{cond} Rd, Rn, Operand2
is an optional suffix. If S is specified, the condition flags are updated on the result of the operation.
is an optional condition code.
is the destination register.
is the register holding the first operand.
is a flexible second operand.


The ORN Thumb instruction performs an OR operation on the bits in Rn with the complements of the corresponding bits in the value of Operand2.
In certain circumstances, the assembler can substitute ORN for ORR, or ORR for ORN. Be aware of this when reading disassembly listings.

Use of PC

You cannot use PC (R15) for Rd or any operand in the ORN instruction.

Condition flags

If S is specified, the ORN instruction:
  • Updates the N and Z flags according to the result.
  • Can update the C flag during the calculation of Operand2.
  • Does not affect the V flag.


    ORN     r7, r11, lr, ROR #4
    ORNS    r7, r11, lr, ASR #32


This 32-bit Thumb instruction is available in ARMv6T2 and above.
There is no ARM or 16-bit Thumb ORN instruction.
Related reference
10.3 Flexible second operand (Operand2)
10.138 SUBS pc, lr
10.8 Condition code suffixes
Non-ConfidentialPDF file icon PDF versionARM DUI0379G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.