Построение счетчика на регистровой паре.
Счетчик на одном регистре обеспечивают к-счета =28=256, поэтому счетчик строится на регистровой паре к-счета =216=65536.
При построении такого счетчика пользователь (разработчик программы) должен на программном уровне сформировать признак нулевого значения в регистровой паре, поскольку на аппаратном уровне в регистре признаков признак нулевого значения, только для одного регистра.
Счетчики на регистровой паре применяются в программах временной задержки.
Рассмотрим фрагмент программы временной задержки
DEL equ 0608C h
Begin:
MOV B,C
CALL DELAY
DELAY LXI B,DEL;(BC)ßDEL
NOP
NOP
DCX B;(BC)ß(BC)-1
MOV A,C
ORA B
JNZ DELAY
JMP Begin
Принцип построения:
В ЗУ формируется таблица в которой по адресу соответствующему текущему состоянию записано число которое формирует следующее значение счетчика.
Рассмотрим пример реализации счетчика табличным методом с произвольным порядком смены значения счетчика.
Счетчик должен выдавать следующие значения
Q0=4
4à0à14à12à8
Построение таблицы заполняющего устройства.
MVI C,Q0; (C)ß(Q0)
M1 OUT OUTPORT3
LXI H,NAT;(HL)ßNAT адрес 0 ЯП
MVI B,0;(B)ß0
DAD B;(HL)ß(HL) + (BC)
MOV C,M; (C)ß([HL])
MOV A,C
JMP M1
NAT db 00 Eh,0,0,0,0,0,0,0,4,0,0,0,8,0,Ch
END