Юный техник - для умелых рук 1989-02, страница 6всего fa счет того, что к наиболее часто используемым подпрограммам ввода/вывода в МОНИТОРе производится обращение не с помощью 3-байтной команды CALL ADR, а с помощью однобайтных команд RSTO —RST6. Встроенная в МОНИТОР программа часов, работающая в режиме прерывания по RST7 от внешнего датчика секунд, позволяет осуществить привязку выполнения программ к реальному времени. Хранится МОНИТОР в ПЗУ в области памяти 0000H-03FFH. Чтобы его запустить, достаточно произвести начальную установку микро ЭВМ, нажав на кнопку «УСТ». При работе МОНИТОРА в ОЗУ лишь несколько ячеек используется для стека и хранения промежуточных результатов и данных. Коды МОНИТОРА приведены в таблице 5. При запуске МОНИТОРА происходит настройка указателя стека и затем на крайних справа индикаторах появляются две единички. Это означает, что микроЭВМ находится в ожидании ввода директивы с клавиатуры. Клавиатура имеет двойное функциональное назначение. После начальной установки каждая клавиша служит для ввода директивы, а после ввода директивы эти же шестнадцатиричные клавиши используются' для ввода ее параметров. Директивы МОНИТОРА перечислены в таблице 4. Таблица 4. Директивы МОНИТОРА Таблица 4. Директивы МОНИТОРА
Все директивы МОНИТОРА задаются шестнадцатиричными цифрами и могут содержать дополнительно до трех параметров. Параметры также вводятся в виде шестнадцатиричных чисел. Их набирают после ввода директивы и контролируют по индикации на дисплее. Поскольку в МОНИТОРЕ на крайний справа индикатор выводится информация аккумулятора (адрес индикатора 9000Н), а на два других индикатора выводится информация из регистровой пары HL (адреса 9001Н, 9002Н), то в дальнейшем мы эти индикаторы так и будем называть: индикатор А, индикаторы HL. Структурно МОНИТОР состоит из двух частей по 512 байт каждая. Перечисленные в таблице директивы относятся к первой основной части МОНИТОРА 0000—01FFH. Вторая, вспомогательная часть МОНИТОРА содержит набор программ, обращение к которым производится с помощью директивы «7». В минимальном объеме МОНИТОР может быть размещен в одной микросхеме КР556РТ5. Знакомство с директивами МОНИТОРА начнем с директив работы с памятью. Директива «4» позволяет тестировать ОЗУ микроЭВМ. После нажатия клавиши «4» на индикаторах HL появляется код «С400Н», что означает: вся область ОЗУ от СОООН до C3FFH исправна. Тестирование ОЗУ производится последовательной записью в каждую ячейку сначала нулей и их чтением с проверкой на ноль, а затем записью единиц с проверкой считанных единиц. Если какая-то ячейка памяти неисправна, то адрес неисправной ячейки выводится на индикатор HL. Пользоваться этой директивой нужно осторожно, так как после прохождения теста ОЗУ вся память заполняется единичками. Директива «1» позволяет осуществлять запись данных в ОЗУ с адреса СОООН. После нажатия на кнопку «1» на индикаторах HL появляется код «С000», а на индикаторе А — «00». Последующее нажатие на кнопки приводит к занесению данных в ячейки ОЗУ. Вводимые данные отображаются на индикаторе А, а на индикаторах HL выводятся адреса загружаемых ячеек памяти. Переход от ячейки к ячейке происходит автоматически, с задержкой порядка 1 с. Так, если после ввода директивы «1» оставить нажатой эту кнопку, то начиная с ячейки памяти с адресом СОООН и во все последующие ячейки будут записываться единицы. Директива «2» предназначена для просмотра содержимого ячеек памяти, начиная с адреса СОООН. После ввода директивы на индикаторах HL появляется адрес «С000», а на индикаторе А содержимое ячейки памяти C000H. Нажатие на любую кнопку осуществляет автоматическое перелистывание ячеек памяти. Таблица 5. Таблица 5.
Директива «0» аналогична директиве «1», однако отличается тем, что после нажатия кнопки «0» необходимо ввести параметр — адрес, начиная с которого будет осуществляться запись данных в ОЗУ. Нажав кнопку «0», вводится адрес ячейки памяти, который при вводе индицируется на индикаторе А, а затем, после ввода адреса, появляется уже на индикаторе HL. На индикаторе А высвечивается «00». После этого вводится новая информация в эти и последующие ячейки памяти. Директива «5» позволяет просматривать ячейки памяти ОЗУ с любого адреса. После нажатия кнопки «5» вводится адрес интересующей ячейки, который при вводе индицируется побайтно на индикаторе А, а затем выводится на индикаторы HL. На индикаторе А будет написано содержимое ячейки памяти. Следующие ячейки просматриваются нажатием на любую кнопку. Особое положение среди директив работы с памятью занимает директива «ШАГ НАЗАД», которая отсутствует в таблице 4. Дело в том, что все кнопки в микроЭВМ кроме кнопки «ШАГ НАЗАД» имеют двойное функциональное назначение. После сброса каждая кнопка служит для ввода директив МОНИТОРА, а при исполнении директив это кнопки шестнадцатиричных цифр. Директива «ШАГ НАЗАД» имеет отдельную кнопку и может быть введена при исполнении перечисленных выше директив работы с памятью. Предположим, выполняется директива чтения памяти. На индикаторах HL —адрес «С003», а на индикаторе А —содержимое этой ячейки — «22» После нажатия на кнопку «ШАГ НАЗАД» на индикаторе А появляются нули, и можно вводить новые данные в ячейку с адресом С003Н и последующие адреса. Аналогично применяется директива «ШАГ НАЗАД» при выполнении других директив работы с памятью. При работе с памятью полезной может оказаться директива вычисления контрольной суммы. Чтобы получить ее, необходи- 6
|