2.6.9.3.4 Condition Flags

This instruction does not change the flags.

Example

ITTE NE   ; Next 3 instructions are conditional
ANDNE R0, R0, R1    ; ANDNE does not update condition flags
ADDSNE R2, R2, #1   ; ADDSNE updates condition flags
MOVEQ R2, R3        ; Conditional move
CMP R0, #9 ; Convert R0 hex value (0 to 15) into ASCII
                      ; ('0'-'9', 'A'-'F')
ITE GT              ; Next 2 instructions are conditional
ADDGT R1, R0, #55   ; Convert 0xA -> 'A'
ADDLE R1, R0, #48   ; Convert 0x0 -> '0'


IT GT ; IT block with only one conditional instruction
ADDGT R1, R1, #1    ; Increment R1 conditionally


ITTEE EQ ; Next 4 instructions are conditional
MOVEQ R0, R1        ; Conditional move
ADDEQ R2, R2, #10   ; Conditional add
ANDNE R3, R3, #1    ; Conditional AND
BNE.W dloop         ; Branch instruction can only be used in the last
                      ; instruction of an IT block


IT NE ; Next instruction is conditional
ADD R0, R0, R1      ; Syntax error: no condition code used in IT block.