beqz
Branch if equal to zero
Branches to label if the register is zero.
Used in
- LoopsRISC-V assembly
- Arithmetic, logic and bitsRISC-V assembly
- Arrays and stringsRISC-V assembly
- Length of a stringRISC-V assembly
- Reverse a string in placeRISC-V assembly
- Even or odd, count the set bits, multiply by shiftingRISC-V assembly
- A subroutine with its arguments in registersRISC-V assembly
- Move a square with the keyboardRISC-V assembly
- The snake gameRISC-V assembly
- Flappy ASMRISC-V assembly
Forms
Operands
t1- Any integer register,
x0tox31, or its named alias, such aszero,t0ort6. label- A named address in the program, such as the start of a loop or a variable in
.data.
# First beqz case is taken; second is not. t2 ends at 11 (10 + 1).
.text
li t2, 0
li t0, 0
beqz t0, taken
addi t2, t2, 1
j first_done # Skip the other marker unconditionally.
taken:
addi t2, t2, 10
first_done:
li t0, 7
beqz t0, missed
addi t2, t2, 1
j second_done # Skip the other marker unconditionally.
missed:
addi t2, t2, 10
second_done:
# t2=11 proves one taken and one untaken path.