Sbrnz (short branch if not zero) – Echelon Neuron User Manual
Page 127

SBRNZ (Short Branch If Not Zero)
The SBRNZ instruction performs a conditional branch if TOS is not zero. The
SBRNZ instruction uses the (short) relative addressing mode. The SBRNZ
instruction branches forward with an unsigned relative displacement of 1 to 16
bytes if TOS is not zero; otherwise, program operation continues with the next
instruction. TOS is consumed by this instruction. The displacement expression
must resolve at link time to a value in the range 0 to 15 (one less than the actual
displacement because the displacement calculation includes the size of the
SBRNZ operation itself).
The Neuron Assembler also supports the use of a label for the displacement
expression; manual calculation of the displacement value is not required.
See also BRNZ (Branch If Not Zero) for a longer conditional branch with the
same condition, and SBRZ (Short Branch If Zero) for a short conditional branch
with the opposite condition.
The SBRNZ instruction applies to Series 3100, 5000, and 6000 devices.
Syntax:
The SBRNZ instruction requires a single operand to specify the displacement or
label:
SBRNZ displacement
SBRNZ label
Table 50 describes the attributes of the SBRNZ instruction. In the table, the
asterisk (*) specifies the current value of the instruction pointer (IP).
Table 50. SBRNZ Instruction
Instruction
Hexadecimal
Opcode
Instruction
Size (Bytes)
CPU Cycles
Required
Affect on
Carry Flag
SBRNZ *+1
60
1
3
None
SBRNZ *+2
61
1
3
None
SBRNZ *+3
62
1
3
None
SBRNZ *+4
63
1
3
None
SBRNZ *+5
64
1
3
None
SBRNZ *+6
65
1
3
None
SBRNZ *+7
66
1
3
None
SBRNZ *+8
67
1
3
None
SBRNZ *+9
68
1
3
None
Neuron Assembly Language Reference
117