b.w
Branch (Wide)
B.W <label>
Thumb-2 32-bit Unconditional Branch (large range).
Pseudocode Operation
if ConditionPassed() then
offset ← SignExtend(S || imm10 || J1 || J2 || imm11, 24)
PC ← PC + (offset << 1)
Example
B.W label
Encoding
Binary Layout
11110
31:27
S
26
imm10
25:16
10
15:14
J1
13
1
12
J2
11
imm11
10:0
Operands
-
label
Label
Related
More in T32 (Thumb2)
Reference
View in Arm A64 ISA Reference ↗
Arm AArch32 ISA
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0x0A000000 | B{<c>}{<q>} <label> | A32 | cond | 101 | 0 | imm24 | ||
| 0xD000 | B<c>{<q>} <label> | T32 | 1101 | cond | imm8 | ||
| 0xE000 | B{<c>}{<q>} <label> | T32 | 11100 | imm11 | ||
| 0xF0008000 | B<c>.W <label> | T32 | 11110 | S | cond | imm6 | 10 | J1 | 0 | J2 | imm11 | ||
| 0xF0009000 | B{<c>}.W <label> | T32 | 11110 | S | imm10 | 10 | J1 | 1 | J2 | imm11 |
Description
Branch causes a branch to a target address.
Operation
if ConditionPassed() then
EncodingSpecificOperations();
BranchWritePC(PC + imm32, BranchType_DIR);