beautypg.com

Maxim Integrated DS4830A Optical Microcontroller User Manual

Page 208

background image

DS4830A User’s Guide

208

{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