Jump if Accumulator Not Zero - JNZ relative address
If any bit of the Accumulator is a one, JNZ branches to the indicated address; otherwise, it proceeds with the next instruction. The branch destination is computed by adding the signed relative-displacement in the second instruction byte to the PC, after incrementing the PC twice. The Accumulator is not modified. No flags are affected.
Encoding: 0 1 1 1 0 0 0 0 rel address
The Accumulator originally holds 00H. The following instruction sequence,
JNZ LABEL1
INC A
JNZ LABEL2
sets the Accumulator to 01H and continues at label LABEL2.
Example:
ORG 0H
MAIN :
MOV A, #01H
MOV P0, #00H
BEGIN : JNZ LABEL1
INC A
JNZ LABEL2
LABEL1 : DEC A
MOV P0, #55H
AJMP BEGIN
LABEL2 : MOV P0, #0AAH
AJMP MAIN
END
Related topics:
8051 Unconditional and Conditional Jump | 8051 Long Jump | 8051 Absolute Jump | 8051 Short Jump | 8051 Indirect Jump | 8051 Jump if Accumulator Zero | 8051 Compare and Jump if Not Equal | 8051 Decrement and Jump if Not Zero | 8051 Jump if Carry is Set | 8051 Jump if Carry is Not Set | 8051 Jump if Bit Set | 8051 Jump if Bit Not Set | 8051 Jump if Bit is Set and Clear Bit
List of topics: 8051
No comments:
Post a Comment