beautypg.com

Maxim Integrated DS4830 Optical Microcontroller User Manual

Page 197

background image

DS4830 User’s Guide

197

{L/S}DJNZ LC[n], src

Decrement Counter, {Long/Short} Jump Not Zero


Description:

The DJNZ LC[n], src instruction performs a conditional branch based upon the associated Loop
Counter (LC[n]) register. The DJNZ LC[n], src instruction decrements the LC[n] loop counter and
branches to the address defined by src if the decremented counter has not reached 0000h.
Program branches can be relative or absolute depending upon the src specifier and may be
qualified by using the ‘L’ or ‘S’ prefixes as documented in the JUMP src opcode.

Status Flags:

None


Operation:

LC[n]  LC[n]

–1

LC[n] <> 0: IP  IP + src (relative)

–or— src (absolute)

LC[n] = 0: IP  IP + 1


Encoding:

15

0

f10n

1101

ssss

ssss


Example(s):

MOVE LC[1], #10h ; counter = 10h
Loop:
ADD

@DP[0]++

; add data memory contents to Acc, post-inc DP[0]

DJNZ LC[1], Loop

; 16 times before falling through