SAM3X8C Atmel Corporation, SAM3X8C Datasheet - Page 135

no-image

SAM3X8C

Manufacturer Part Number
SAM3X8C
Description
Manufacturer
Atmel Corporation
Datasheets
11.17.1
11.17.1.1
11.17.1.2
11.17.1.3
11057A–ATARM–17-Feb-12
11057A–ATARM–17-Feb-12
B, BL, BX, and BLX
Syntax
Operation
Restrictions
Branch instructions.
where:
B
BL
BX
BLX
cond
label
Rm
be 1, but the address to branch to is created by changing bit[0] to 0.
All these instructions cause a branch to label, or to the address indicated in Rm. In addition:
Bcond label is the only conditional instruction that can be either inside or outside an IT block. All
other branch instructions must be conditional inside an IT block, and must be unconditional out-
side the IT block, see
Table 11-24
Table 11-24. Branch ranges
You might have to use the .W suffix to get the maximum branch range. See
selection” on page
The restrictions are:
Instruction
B label
Bcond label
Bcond label
BL{cond} label
BX{cond} Rm
BLX{cond} Rm
• The BL and BLX instructions write the address of the next instruction to LR (the link register,
• The BX and BLX instructions cause a UsageFault exception if bit[0] of Rm is 0.
R14).
B{cond} label
BL{cond} label
BX{cond} Rm
BLX{cond} Rm
(outside IT block)
(inside IT block)
shows the ranges for the various branch instructions.
is branch (immediate).
is branch with link (immediate).
is branch indirect (register).
is branch indirect with link (register).
is an optional condition code, see
is a PC-relative expression. See
is a register that indicates an address to branch to. Bit[0] of the value in Rm must
98.
“IT” on page
Branch range
Any value in register
Any value in register
16 MB to +16 MB
1 MB to +1 MB
16 MB to +16 MB
16 MB to +16 MB
138.
“PC-relative expressions” on page
“Conditional execution” on page
SAM3X/A
SAM3X/A
“Instruction width
96.
95.
135
135

Related parts for SAM3X8C