2.6.5.6.4 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 2.6.3.3 Flexible Second Operand
  • do not affect the V flag.

Example

MOVS R11, #0x000B         ; Write value of 0x000B to R11, flags get updated
MOV R1, #0xFA05                    ; Write value of 0xFA05 to R1, flags are not updated
MOVS R10, R12                      ; Write value in R12 to R10, flags get updated
MOV R3, #23                        ; Write value of 23 to R3
MOV R8, SP                         ; Write value of stack pointer to R8
MVNS R2, #0xF                       ; Write value of 0xFFFFFFF0 (bitwise inverse of 0xF)
                                    ; to the R2 and update flags.