{L/S}DJNZ LC[n], src - Уменьшение счетчика, длинный/короткий {Long/Short} переход, если результат не равен нулю
Описание:
Команда DJNZ LC[n], src выполняет условный переход, основанный на результате сравнения регистра, связанного с Loop Counter (LC[n]). Команда DJNZ LC[n], src уменьшает значение счетчика LC[n] и осуществляет переход по адресу, определяемому содержимым src, но только если после уменьшения значение счетчика не равно 0000h. Программный переход может быть относительным или абсолютным в зависимости от src, а так же может определяться использованием префиксов 'L' или 'S' как это было описано для команды JUMP src.
Затрагиваемые флаги состояния: Нет
Выполнение команды:
LC[n] <-- LC[n] -1
LC[n] <> 0 : IP <-- IP + src (относительный) -or - src (абсолютный)
LC[n] = 0: IP <-- IP + 1
Код команды:
Пример(ы):
MOVE LC[1], #10h ; счетчик = 10h
Loop:
ADD @DP[0]++ ; добавление содержимого памяти данных к Acc, затем увеличение DP[0]
DJNZ LC[1], Loop ; 16 раз перед выходом из цикла
|