Простейшая микро-ЭВМ




ПРОГРАММА-МОНИТОР - часть 10


Затем командой POP Г восстанавливается то содержание регистра D, которое было до начала работы подпрограммы SKL. На этом работа подпро­граммы заканчивается и команда RET загружает в счетчик команд адрес команды, следующей за той, которая вызвала переход к подпрограмме. Заметим, что подпрограммы SKL и DL не портят при своей работе содержимое каких-либо регистров. Результат своей работы — код, соответствующий нажатой кнопке, — подпрограмма SKL возвращает в аккумулятор. Итак, была нажата кнопка, подпрограмма SKL выработала код, соответствующий этой кнопке, и поместила его в аккуму­лятор. Работа монитора продолжается с команды CPI 010Q (адрес 000113Q). Эта команда сравнивает содержимое акку­мулятора с константой 010Q. Это сравнение происходит путем вычитания из кода, хранящегося в аккумуляторе, кода 010Q (по правилам двоичного вычитания), хотя содержимое акку­мулятора не портится. При этом если значение двоичного числа, которое выражено кодом, содержащимся в аккумуляторе, меньше 010Q (или 8D), то по правилам двоичного вычитания происходит заем и устанавливается флаг переноса С, если боль­ше или равно 010Q - то флаг не устанавливается. Затем коман­да JNCM11 осуществляет переход к метке МП (адрес 000134Q), если код нажатой кнопки больше или равен 010Q, если нет, то выполняются команды, следующие за JNC МП. Коды, меньшие 010Q, соответствуют кнопкам К1-К8 и обра­батываются МОНИТОРОМ ПО-ОСОбому, потому что эти кнопки кодируют восьмеричные цифры от 0 до 7 (см. табл. 7.7) для ввода в микро-ЭВМ. Остальным кнопкам присвоены специаль­ные функции, которые выполняются монитором (см. ниже).

Рассмотрим, как происходит ввод восьмеричного числа в микро-ЭВМ. Напомним, что регистр С используется для вре­менного хранения введенного числа до того момента, как онс будет переписано в память по адресу, хранящемуся в паре регистров H-L. После того как была нажата одна из кнопок К1-К8, программа переходит к команде MOV В, А (адрес 000 120Q), которая переписывает код нажатой кнопки из акку­мулятора в регистр В.


Содержание  Назад  Вперед