8276 BE CMP M
; Сравниваем эталон
; с текущим элементом
8277
DA
70 82
JC
MAXI
; Текущий элемент больше –
; меняем эталон
827A
C3
71 82
JMP
M2
; Замыкаем цикл
827D C9 M3: RET ; Возврат из подпрограммы
Для реализации функции поиска минимума, в данной программе
необходимо поменять команду JC MAXI по адресу 8277 на команду
JNC MAXI. Этот прием поменяет условие сравнения на
противоположное и позволит выполнить поиск минимума.
4.Во многих задачах, связанных с реальным временем,
требуется отсчитывать известные отрезки времени. Если в
подпрограмме известно время выполнения каждой команды, можно
обеспечить четко определенный интервал задержки, связанный со
временем выполнения подпрограммы. Если подпрограмма
циклическая, то за счет изменения параметра цикла можно
управлять временем задержки. Подпрограмма перестраиваемой
задержки найдет применение при решении задач, зависящих от
времени, например, для отсчета временных интервалов (для часов)
или включения на заданное время различных устройств (для
выдачи сообщений на индикатор или отображения результатов
вычислений) при автоматическом режиме работы. При вызове
подпрограммы (таблица 3.16) в регистровой паре ВС необходимо
задать число, которое будет управлять количеством циклов
задержки, выполняемых в подпрограмме. Каждая единица в
регистровой паре увеличивает суммарную задержку на 60
машинных тактов, т.е. на 24·10
-6
с. При задании максимального
числа задержка превысит 1,5 с.
Таблица 3.16 − Подпрограмма изменяемой программной
задержки
Начальные условия в регистрах:
BC - количество условных единиц задержки по 60 тактов
Результаты:
Минимальная задержка при тактовой частоте 2,5 МГц
составляет около 29·10
-6
с
Максимальная задержка составляет более 1,5 с