if, else, goto.CBZ reg, Label – “Compare and Branch if Zero”
Jumps to Label if register = 0.
CBNZ reg, Label – “Compare and Branch if Not Zero”
Jumps to Label if register ≠ 0.
if–then–else Statementif (i == j)
f = g + h;
else
f = g - h;
SUB X9, X22, X23 // X9 = i - j
CBNZ X9, Else // go to Else if i ≠ j (X9 ≠ 0)
ADD X19, X20, X21 // f = g + h
B Exit // skip Else
Else: SUB X19, X20, X21 // f = g - h
Exit:
i == j: executes ADD, then branches to Exit, skipping subtract.i ≠ j: skips ADD, executes SUB in Else block.Exit.