Организация обмена по прерыванию программы в БЭВМ. Пример программы. Цикл прерывания
Принцип организации обмена по прерыванию
Аппаратные прерывания в БЭВМ позволяют процессору не тратить время на ожидание готовности внешних устройств (ВУ), а выполнять полезную работу. Инициатором обмена выступает само ВУ: при готовности оно посылает сигнал по линии запроса прерывания (IntRq).
Процессор проверяет наличие запросов в конце выполнения каждой инструкции в специальном цикле прерывания. Обмен возможен только при наличии флага разрешения прерываний EI (в регистре состояния PS) и включённого тумблера «Работа» (PS(W) = 1).
Цикл прерывания
Цикл прерывания в БЭВМ выполняется аппаратно на уровне микропрограммного устройства управления. Он состоит из следующих микроопераций:
-
Проверка условий и
IP-(SP)
INTS- это микрокоманда, который заставляет процессор выставить сигнал предоставления прерывания и перебрать все прерывания по приоритету -
PS-(SP)и вычисление адреса ячейки, в которой начало программы обработки прерывания
-
Загрузка нового состояния процессора

Пример программы настройки и обработки прерывания
Программа настраивает ВУ-3 (текстовый принтер) на прерывание по вектору №3. Сам обработчик просто записывает символ в память по запросу.
ORG 0x0
V3: WORD $INT3, 0x180
ORG 0x20
START: DI
LD #0x0B ; 0x0B=0b1011.
; Бит 3 - разрешаем прерывания, биты 0-2 - вектор 3
OUT 7 ; Запись в ВУ-3 (MR)
EI
LOOP: INC
BR LOOP
; --- Обработчик прерывания ---
ORG 0x40
INT3:
PUSH ; Сохранение AC в стек
IN 6 ; Ввод из ВУ-3 в AC
ST MEM_CELL ; Сохранение в память
POP ; Восстановление аккумулятора
IRET ; Возврат из прерывания
MEM_CELL: WORD 0