STI ;разрешаем аппаратные прерывания
Раздел 2. Управление прерываниями.
Прерывания это готовые процедуры, которые компьютер вызывает
для выполнения определенной задачи. Существуют аппаратные и прог-
раммные прерывания. Аппаратные прерывания инициируются аппарату-
рой, либо с системной платы, либо с карты расширения. Они могут
быть вызваны сигналом микросхемы таймера, сигналом от принтера,
нажатием клавиши на клавиатуре и множеством других причин. Аппа-
ратные прерывания не координируются с работой программного обес-
печения. Когда вызывается прерывание, то процессор оставляет свою
работу, выполняет прерывание, а затем возвращается на прежнее
место. Для того чтобы иметь возможность вернуться точно в нужное
место программы, адрес этого места (CS:IP) запоминается на стеке,
вместе с регистром флагов. Затем в CS:IP загружается адрес прог-
раммы обработки прерывания и ей передается управление. Программы
обработки прерываний иногда называют драйверами прерываний. Они
всегда завершаются инструкцией IRET (возврат из прерывания),
которая завершает процесс, начатый прерыванием, возвращая старые
значения CS:IP и регистра флагов, тем самым давая программе воз-
можность продолжить выполнение из того же состояния.
С другой стороны, программные прерывания на самом деле ничего
не прерывают. На самом деле это обычные процедуры, которые вызы-
ваются Вашими программами для выполнения рутинной работы, такой
как прием нажатия клавиши на клавиатуре или вывод на экран. Одна-
ко эти подпрограммы содержатся не внутри Вашей программы, а в
операционной системе и механизм прерываний дает Вам возможность
обратиться к ним. Программные прерывания могут вызываться друг из
Предыдущая страница 31 Следующая страница
57469039
|