Фрагмент управляющей программы с двумя уровнями подпрограмм
Основная программа
02F | Переход к подпрограмме первого уровня (выполнение команды, содержащейся по адресу 050) В стеке запоминается адрес 030 Включить выход 00 | ||
Включить выход 00 | |||
Подпрограмма первого уровня | |||
Проверка входа 01 на отсутствие сигнала. Если сигнала нет, то БУ сохраняет предыдущее значение | |||
0A | Если БУ=1, то переход на адрес 053 (к выполнению команды ВОЗВРАТ) | ||
Переход к подпрограмме второго уровня (к выполнению команды, содержащейся по адресу 063). В стеке запоминается адрес 053 | |||
Возврат в основную программу на адрес 030 | |||
Подпрограмма второго уровня | |||
Проверка входа 02 на наличие сигнала. Если сигнал есть, то БУ сохраняет предыдущее значение | |||
0B | Если БУ=0, то переход на адрес 063 (к выполнению команды ВОЗВРАТ) | ||
переход на адрес 060 | |||
Возврат в подпрограмму первого уровня наадрес 053 |
Пример организации подпрограммы приведен выше.
Команды управления счетчиками предназначены для проведения операций очистки, инкремента и сравнения над шестнадцатью счетчиками.
Номер счетчика (0—F) задается величиной N0 в поле операнда (см. табл. 2). Так, команда с кодом 0C0A выполняет операцию инкремента счетчика А; команда с кодом OD02 сбрасывает счетчик 2.
Величиной N1 в поле операнда команды сравнения задается уставка (от 0 до F), с которой сравнивается содержимое счетчика с номером, заданным величиною N0. В случае совпадения чисел БУ сохраняет предыдущее значение, в противном случае — обнуляется. Например, команда с кодом 0E3F сравнивает содержимое счетчика F с цифрой 3.
С помощью достаточно простой программы можно организовать счетчик емкостью большей, чем F. Например, команды, приведенные ниже, обеспечивают счет до 45.
Пример программы, реализующей последовательное включение двух счетчиков
0D | Обнуление счетчика с номером 1 | ||
0D | Обнуление счетчика с номером 0 | ||
0C | Значение счетчика с номером 0 увеличивается на 1 | ||
0E | 0F | Содержимое счетчика с номером 0 сравнивается с F | |
0B | Если счетчик не заполнился, переход на адрес 002 | ||
0C | Значение счетчика с номером 1 увеличивается на 1 | ||
0E | Содержимое счетчика с номером 1 сравнивается с цифрой 3 | ||
0B | Если содержимое считчика 1 не равно 3, осуществляется переход на адрес 001 | ||
Останов |
Счетчики могут использоваться не только как накопители, но и служить регистровой памятью объемом 16 бит с последовательным занесением информации.
В примере, приведенном ниже, счетчик 0 служит для запоминания состояния входа 00, которое используется в команде по адресу ОАО.
Дата добавления: 2022-02-05; просмотров: 272;