ARM and Thumb instructions can execute conditionally on the condition flags set by a previous instruction.
The conditional instruction can occur either:
- Immediately after the instruction that updated the flags.
- After any number of intervening instructions that have not updated the flags.
The instructions that you can make conditional depends on whether the processor is in ARM state or Thumb state.
To make an instruction conditional, you must add a condition code suffix to the instruction mnemonic. The condition code suffix enables the processor to test a condition based on the flags. If the condition test of a conditional instruction fails, the instruction:
- Does not execute.
- Does not write any value to its destination register.
- Does not affect any of the flags.
- Does not generate any exception.