16.158 TBNZ

Test bit and Branch if Nonzero.

Syntax

TBNZ R<t>, #imm, label

Where:

R

Is a width specifier, and can be either W or X.

In assembler source code an X specifier is always permitted, but a W specifier is only permitted when the bit number is less than 32.

<t>
Is the number [0-30] of the general-purpose register to be tested or the name ZR (31).
imm
Is the bit number to be tested, in the range 0 to 63.
label
Is the program label to be conditionally branched to. Its offset from the address of this instruction, in the range ±32KB.

Usage

Test bit and Branch if Nonzero compares the value of a bit in a general-purpose register with zero, and conditionally branches to a label at a PC-relative offset if the comparison is not equal. It provides a hint that this is not a subroutine call or return. This instruction does not affect condition flags.

Non-ConfidentialPDF file icon PDF versionARM 100069_0608_00_en
Copyright © 2014–2017 ARM Limited or its affiliates. All rights reserved.