Conditional execution in A32 code
Almost all A32 instructions can be executed conditionally on the value of the condition flags in the APSR. You can either add a condition code suffix to the instruction or you can conditionally skip over the instruction using a conditional branch instruction.
Using conditional branch instructions to control the flow of execution can be more efficient when a series of instructions depend on the same condition.
- Conditional instructions to control execution
; flags set by a previous instruction LSLEQ r0, r0, #24 ADDEQ r0, r0, #2 ;...
- Conditional branch to control execution
; flags set by a previous instruction BNE over LSL r0, r0, #24 ADD r0, r0, #2 over ;...