TBZ
Branch on a clear bit
Test one register bit and branch without using NZCV.
| Form | Bits | Requires | Encoding |
|---|---|---|---|
TBZ Wt, #bit, label | 32 | Armv8-A | 00110110xxxxxxxxxxxxxxxxxxxxxxxx |
TBZ Xt, #bit, label | 64 | Armv8-A | x0110110xxxxxxxxxxxxxxxxxxxxxxxx |
Operation#
Pseudo-C · selected form
PC = (Rt[bit] == 0) ? PC + displacement : PC + 4What to watch for
- X spelling permits bits 0–63; W spelling permits only bits 0–31. These spellings share an encoding for low bits.
- The byte displacement is measured from this instruction, in multiples of four.
Architectural details#
- Flags
- NZCV unchanged.
- Destination
- Writes PC; data registers are unchanged.
- Encoding
00110110xxxxxxxxxxxxxxxxxxxxxxxx- Operands
Wtread · 32 bitsbitreadlabeladdress expression · 64 bitsPCwrite · 64 bits
- Coverage
- W and X assembly spellings of the test-bit branch encoding; their low-bit cases overlap.
- bit
- 0 to 31.
- label
- -32768 to 32764, in steps of 4.
Exception information & execution requirements
Complete exception conditions have not been imported.
MRS supplies encoding and availability conditions, not an exhaustive exception model.
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