Архитектура базовой ЭВМ. Кириллов В.В. - 91 стр.

UptoLike

Составители: 

88
чтобы содержимое регистра переноса попало в аккумулятор (ROL), и
запись этого содержимого в другую буферную ячейку (MOV В2). Таким
образом, необходимый минимум информации о прерванной задаче
оказывается обеспеченным в ячейке 0 хранится адрес продолжения
задачи, а в буферных ячейках запасены состояния двух других основных
регистров машины в момент прерывания.
Шаг 4. Осуществляется поиск источника прерывания. Для этого в
любой (наиболее целесообразной) последовательности опрашиваются
флаги всех ВУ (команда TSF). При обнаружении ВУ с установленным
флагом (флаг=1) выполняется переход к тому участку подпрограммы, в
котором описаны действия по обмену информацией между процессором и
этим внешним устройством.
Шаг 5. Выполняются передача данных и их предварительная
обработка (если это необходимо).
Шаг 6. Восстанавливается содержимое регистра переноса и
аккумулятора. Для этого требуются минимум пять команд: очистка
аккумулятора (CLA), вызов содержимого буферной ячейки В2 в
очищенный аккумулятор (ADD В2), циклический сдвиг вправо для
восстановления содержимого регистра переноса (ROR), очистка
аккумулятора (CLA) и вызов содержимого буферной ячейки В1 в
очищенный аккумулятор (ADD В1).
Шаг 7. Контроллер прерываний вновь переводится в состояние
разрешения, и осуществляется возврат к выполнению прерванной
(основной) программы. Для этого последовательно выполняются команды
ЕI ("Разрешение прерывания") и BR (0) - переход к команде с адресом,
хранимым в ячейке 0 (см. параграф 2.4). Здесь следует отметить, что
команда Е1 должна обязательно располагаться непосредственно перед
командой выхода из подпрограммы - BR (0). Это делается на случай
очередного требования прерывания во время обработки рассматриваемого.
Если между командами Е1 и BR (0) поместить хотя бы одну команду, то
после ее выполнения может произойти переход к обработке прерывания,
содержимое ячейки 0 заменится новым адресом возврата, и таким образом
путь возвращения к прерванной (основной) программе будет разрушен.
В заключение напомним следующее.
1. С помощью команды D1 контроллер прерываний устанавливается
в состояние запрещения прерывания, и ЭВМ не реагирует на запросы
обмена от любых внешних устройств. В то же состояние переходит этот
контроллер и после нажатия кнопки ПУСК, поэтому для обеспечения
обмена по прерыванию программы в последней обязательно должна
присутствовать команда Е1 ("Разрешение прерывания").
2. Прерывание программы наступает при наличии следующих
условий: контроллер прерываний находится в состоянии разрешения
прерывания, появился запрос на прерывание (флаг какого-либо ВУ