
DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10360_0
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 00.06 — 5 June 2009
676 of 808
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 User Guide
2.9.1.3
Restrictions
The restrictions are:
•
do not use PC in the
BLX
instruction
•
for
BX
and
BLX
, bit[0] of
Rm
must be 1 for correct execution but a branch occurs to the
target address created by changing bit[0] to 0
•
when any of these instructions is inside an IT block, it must be the last instruction of
the IT block.
B
cond
is the only conditional instruction that is not required to be inside an IT block.
However, it has a longer branch range when it is inside an IT block.
2.9.1.4
Condition flags
These instructions do not change the flags.
2.9.1.5
Examples
B
loopA
; Branch to loopA
BLE
ng
; Conditionally branch to label ng
B.W
target ; Branch to target within 16MB range
BEQ
target ; Conditionally branch to target
BEQ.W
target ; Conditionally branch to target within 1MB
BL
funC
; Branch with link (Call) to function funC, return address
; stored in LR
BX
LR
; Return from function call
BXNE
R0
; Conditionally branch to address stored in R0
BLX
R0
; Branch with link and exchange (Call) to a address stored
; in R0