Построение счетчиков на двух регистрах.

МП обладает аппаратной возможностью формирования признака нулевого результата только для одного регистра, а не для регистровой пары. Поэтому пользователю (разработчику программ) необходимо формировать признак нулевого результата на программном уровне.

Фрагмент из программы

Delay:

LXIB, DEL ; пересылается константа

В регистровую пару В-С

M3:

NOP ; пустая команда для увеличения

Времени цикла

NOP

MOVA,C

ORA B ; (A)←(A)V(B)

JNZM3

JMPMi ; метка основной программы

END

Построение программы с управляющими сигналами

Если МПС управляет устройством, то на вход МПС поступает сигнал, по результатам которого формируется управляющий сигнал. Пусть двоичный счетчик управляется двумя сигналами, а именно, сигнал Х1 – сброс счетчика в нулевое состояние (начальное) и Х2 – останов счетчика.

Примечание:Эти сигналы используются в программной реализации проектируемого устройства в курсовой и лабораторной работах.

Управляющий сигнал обеспечивает сброс счетчика в начальное состояние, если Х1=0 в разряде регистра А1 (аккумулятор), а Х2=0 в разряде регистра А3 (аккумулятор) : обеспечивает останов счета. Cигналы управления вводятся в аккумулятор МП побайтно.

Построение счетчиков на двух регистрах. - student2.ru

Рассмотрим последовательность применения управляющих сигналов.

а) выделение сигнала Х1. Для этого применим команду логического умножения (конъюнкция) АNIX, где Х – число (соnst), позволяющее выделить любой разряд (ы) регистра (аккумулятора). В нашем примере константа 02 (ANI 02), которая позволяет выделить разряд сигнала Х1.

Построение счетчиков на двух регистрах. - student2.ru

Построение счетчиков на двух регистрах. - student2.ru

Построение счетчиков на двух регистрах. - student2.ru

б)определение значенияразряда (1 или 0)управляющего сигналаХ1: применяем команды JZ или JNZ.

Аналогично для сигнала Х2:

а) выделение сигнала Х2 (сонстанта 08):

Построение счетчиков на двух регистрах. - student2.ru

Построение счетчиков на двух регистрах. - student2.ru

Построение счетчиков на двух регистрах. - student2.ru

б)определение значенияразряда сигнала Х2: применяем команды JZ или JNZ.

Пусть Х12=1, то есть рассмотрим ситуацию, когда счетчик работает без воздействия управляющих сигналов:

Построение счетчиков на двух регистрах. - student2.ru

Построение счетчиков на двух регистрах. - student2.ru

Построение счетчиков на двух регистрах. - student2.ru

Разработка программы счетчика табличным методом.

Сущность метода построения счетчика: в памяти МПС на программном уровне формируется таблица (одномерная), в которой по адресу, соответствующему текущему состоянию, записано число (в памяти), которое соответствует следующему состоянию счетчика.

Пример: разработать счетчик табличным методом с произвольным порядком смены состояний.

Пусть счетчик имеет начальное состояние Q0 = 4 и выдает следующие значения

4 →0 →14→12 →8.

NAT обозначим, как метка, которая указывает начальный адрес таблицы знчений, выдаваемых счетчиком.

Построение счетчиков на двух регистрах. - student2.ru

Фрагмент программы:

…………………………………

MOVA,C ;(А)← (C)

OUTOUTPORT;вывод значений счетчика

LXIH,NAT ;загружаем данные таблицы

MVIB,0 ;обнуляем регистр В

DADB ;(H-L) ← (H-L)+(B-C)

MOV A,M ;(A) ←([H-L])

MOV C,A ;(C) ←(A)

JMP M1

NAT: db 0Еh,0h,0h,0h,0h,0h,0h,0h,4h,0h,0h,0h,8h

Includestack.asm

End

Наши рекомендации