Прерывающая программа - Большая Энциклопедия Нефти и Газа, статья, страница 4
Девушка, можно пригласить вас на ужин с завтраком? Законы Мерфи (еще...)

Прерывающая программа

Cтраница 4


В простейшем случае вектор прерывания состоит лишь из начального адреса прерывающей программы.  [46]

Управление переходит к команде, загружающей в СчК адрес начала прерывающей программы. Начальная часть этой программы помещает в стек содержимое регистра-аккумулятора Л и регистра признаков F ( команда PUSH PSW), а также и других программно доступных регистров МП, если прерывающая программа будет их использовать. При этом каждой командой передачи в стек передается содержимое соответствующей пары регистров. Далее выполняется собственно программа обработки прерывания.  [47]

Как указывалось выше, не допускается непосредственная связь между различными прерывающими программами. Но иногда необходимо обеспечить косвенную связь между двумя прерывающими программами или между прерывающей и основной программами. Например, программа обработки прерываний от клавиатуры может потребовать от программы вывода на телетайп отпечатать введенный символ или сообщить основной программе только что введенный знак. Адресат периодически опрашивает буферный файл и выбирает из него сообщение.  [48]

При этом способе прерываний маска прерываний не опрашивается, поэтому обе прерывающие программы тоже можно вложить друг в друга.  [49]

50 Сравнение методов сохранения целостности подпрограмм. [50]

Если подпрограмма длинна или содержит большие процедуры с циклами, выполнение прерывающей программы может сильно задержаться из-за ожидания завершения прогона подпрограммы. По этой же причине применение данного метода ограничено случаями, когда вероятность затора весьма мала, а результирующая случайная задержка не играет роли.  [51]

После этого запрошенная передача данных реализуется под управлением процессора, выполняющего прерывающую программу ввода-вывода, инициируемую вектором прерывания. Перед переходом к этой программе процессор запоминает в стеке состояние прерванной программы и свой текущий уровень приоритета.  [52]

Восстановление содержимого индексных ячеек основной программы и запоминание их состояния в прерывающей программе необходимо осуществлять особо.  [53]

Следует различать приоритет между запросами прерывания разных классов и приоритет между прерывающими программами. Первый устанавливает лишь очередность восприятия запросов, поступивших одновременно, а второй, более важный - старшинство ( степень срочности в выполнении прерывающих программ разных классов, другими словами, определяет, имеет ли право данная прерывающая программа прервать выполняемую в данный момент программу.  [54]



Страницы:      1    2    3    4