Wednesday, March 23, 2016

8051 Jump if Accumulator Not Zero

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