ры).
Второй причиной написания прерывания может быть использование
какого-либо отдельного аппаратного прерывания. Это прерывание
автоматически вызывается при возникновении определенных условий.
В некоторых случаях BIOS инициализирует вектор этого прерывания
так, что он указывает на процедуру, которая вообще ничего не
делает (она содержит один оператор IRET). Вы можете написать свою
процедуру и изменить вектор прерываний, чтобы он указывал на нее.
Тогда при возникновении аппаратного прерывания будет выполняться
Ваша процедура. Одна из таких процедур это прерывание времени
суток [2.1.0], которое автоматически вызывается 18.2 раза в се-
кунду. Обычно это прерывание только обновляет показание часов, но
Вы можете добавить к нему любой код, который Вы пожелаете. Если
Ваш код проверяет показания часов и вступает в игру в определен-
ные моменты времени, то возможны операции в реальном времени.
Другие возможности - это написание процедур обработки Ctrl-Break
[3.2.8], PrtSC [3.2.9] и возникновения ошибочных ситуаций
[7.2.5]. Прерывания принтера [6.3.1] и коммуникационные [7.1.8]
позволяют компьютеру быстро переключаться между операциями вво-
да/вывода и другой обработкой.
Наконец, Вы можете захотеть написать прерывание, которое пол-
ностью заменит одну из процедур операционной системы, приспособ-
ленное к Вашим программным нуждам. В [1.2.4] показано как напи-
сать прерывание внутри прерывания, которое позволяет Вам модифи-
цировать существующие процедуры.
Средний уровень.
Функция 25H прерывания 21H устанавливает вектор прерывания на
Предыдущая страница 37 Следующая страница
2010950910
|