EasyManua.ls Logo

ARM Cortex-M4 - Page 167

ARM Cortex-M4
276 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
The Cortex-M4 Instruction Set
ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. 3-120
ID121610 Non-Confidential
Note
You might have to use the
.W
suffix to get the maximum branch range. See Instruction width
selection on page 3-21.
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.
Note
Bcond
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.
Condition flags
These instructions do not change the flags.
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.

Table of Contents

Related product manuals