Функциональная организация микро-ЭВМ и микроконтроллеров. Часть 2: К1816ВЕ48. Негода В.Н - 42 стр.

UptoLike

прерываний. Режим прерываний может быть запрещен или
разрешен программой по командам DIS I и EN I. Сигнал ЗПР
должен быть снят внешним устройством перед окончанием
подпрограммы обслуживания, т.е. до исполнения команды RETR. В
том случае, если внешнее устройство не сбрасывает свой флаг
запроса прерываний при обращении МК к его буферному регистру,
одна из выходных линий МК используется подпрограммой
обслуживания прерывания для сброса этого флага во внешнем
устройстве. Так как вход ЗПР может быть проверен по команде
условного перехода JNI, то при запрещенном режиме прерывания
вход ЗПР может быть использован в качестве дополнительного
тестирующего входа подобно входам Т0 и Т1.
При необходимости в МК можно создать двухуровневую систему
прерываний. Для этого надо разрешить прерывания от таймера,
загрузить в него число FFH и перевести в режим подсчета внешних
событий, фиксируемых на входе Т1. Переход сигнала на входе Т1 из
состояния 1 в состояние 0 приведет к прерыванию по вектору в
ячейке 7. В случае одновременного запроса прерываний от внешнего
источника и запроса от флага переполнения таймера приоритет
остается за источником, воздействующим на вход ЗПР.
При входе в подпрограммы обслуживания прерываний старший бит
счетчика команд СК[11] принудительно устанавливается в нуль.
Следовательно, вся процедура обработки прерывания должна быть
размещена в банке памяти 0.
2.6. Правила записи программ и директивы ассемблера
Исходный текст программы на языке ассемблера имеет
определенный формат. Каждая команда или директива представляет
собой строку из четырех полей:
МЕТКА: ОПЕРАЦИЯ ОПЕРАНД(Ы) ;КОММЕНТАРИЙ
Поля могут отделяться друг от друга произвольным числом
пробелов.
В поле метки размещается символическое имя ячейки памяти, в
которой хранится отмеченная команда или операнд. Метка
представляет собой буквенно-цифровую комбинацию,
начинающуюся с буквы. Используются только буквы латинского
алфавита. Длина метки не должна превышать шесть символов.
Метка всегда завершается двоеточием (:). Директивы ассемблера не
преобразуются в двоичные коды, а потому не могут иметь меток.
Исключение составляют псевдокоманды резервирования памяти и