B
/ B.cond, B.EQ, B.NE, B.CS, B.HS, B.CC, B.LO, B.MI, B.PL, B.VS, B.VC, B.HI, B.LS, B.GE, B.LT, B.GT, B.LE, B.AL, B.NVBranch to a label
Branch to a PC-relative target, unconditionally or according to NZCV.
| Form | Bits | Requires | Encoding |
|---|---|---|---|
| Scalar integer | |||
B label | — | Armv8-A | 000101xxxxxxxxxxxxxxxxxxxxxxxxxx |
| Conditional branch | |||
B.cond label | — | Armv8-A | 01010100xxxxxxxxxxxxxxxxxxx0xxxx |
Operation#
Pseudo-C · selected form
PC = PC + displacementWhat to watch for
- The displacement is measured in bytes from the address of this instruction and must be a multiple of 4. The signed encoded field is scaled by 4.
Architectural details#
- Flags
- NZCV unchanged.
- Destination
- Writes PC. General-purpose registers are unchanged.
- Encoding
000101xxxxxxxxxxxxxxxxxxxxxxxxxx- Operands
labeladdress expression · 64 bitsPCread / write · 64 bits
- Coverage
- Selected baseline A64 control flow. Conditional flag-based branches, authenticated branches and architectural state beyond PC/link-register effects are outside this selection.
- PC-relative byte displacement
- -134217728 to 134217724, in steps of 4.
Exception information & execution requirements
Complete exception conditions have not been imported.
The MRS snapshot supplies encoding and availability conditions, not a complete exception model.
Target instruction fetches can fault. Control-flow hardening and later architectural extensions are not described by this simplified operation.
Feature availability alone does not guarantee execution: OS state and execution-level controls also apply. Use the linked architecture documentation for the full exception conditions.
Sources & provenance#
Technical fields are imported from pinned upstream files. Explanations and explorer behavior are maintained separately.
Architectural references for this form
Arm · aarchmrs
- Revision
2026-03_rel- SHA-256
bf355d263eed08ef6b3e4e680e6bba3642fa7c3dd0be77ffb4783420041a0860- Terms
- BSD-3-Clause