Instruction Set Description
191
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.6.2.31 JNZ, JNE
JNZ
Jump if not zero
JNE
Jump if not equal
Syntax
JNZ label
JNE label
Operation
If Z = 0: PC + (2 × Offset)
→
PC
If Z = 1: execute following instruction
Description
The zero bit Z in the SR is tested. If it is reset, the signed 10-bit word offset contained in
the instruction is multiplied by 2, sign extended, and added to the 20-bit PC. This means
a jump in the range –511 to +512 words relative to the PC in the full memory range. If Z
is set, the instruction after the jump is executed.
JNZ is used for the test of the zero bit Z.
JNE is used for the comparison of operands.
Status Bits
Status bits are not affected.
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
The byte STATUS is tested. If it is not zero, the program continues at Label3. The
address of STATUS is within PC ± 32 K.
TST.B
STATUS
; Is STATUS = 0?
JNZ
Label3
; No, proceed at Label3
...
; Yes, continue here
Example
If word EDE
≠
1500, the program continues at Label2. Data in lower 64 K, program in full
memory range.
CMP
#1500,&EDE
; Is EDE = 1500? Info to SR
JNE
Label2
; No, EDE not equal 1500.
...
; Yes, R5 = 1500. Continue
Example
R7 (20-bit counter) is decremented. If its content is not zero, the program continues at
Label4. Program in full memory range.
SUBA
#1,R7
; Decrement R7
JNZ
Label4
; Zero not reached: Go to Label4
...
; Yes, R7 = 0. Continue here.