SAM3S8B Atmel Corporation, SAM3S8B Datasheet - Page 130

no-image

SAM3S8B

Manufacturer Part Number
SAM3S8B
Description
Manufacturer
Atmel Corporation
Datasheets
10.16.1
10.16.1.1
10.16.1.2
10.16.1.3
130
130
SAM3S8/SD8
SAM3S8/SD8
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 10-24
Table 10-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
86.
“IT” on page
Any value in register
Any value in register
Branch range
− 16 MB to +16 MB
− 1 MB to +1 MB
− 16 MB to +16 MB
− 16 MB to +16 MB
133.
“PC-relative expressions” on page
“Conditional execution” on page
11090A–ATARM–10-Feb-12
11090A–ATARM–10-Feb-12
“Instruction width
84.
84.

Related parts for SAM3S8B