Составители:
Рубрика:
65
7. Обработка прерываний
В MS-DOS различают аппаратные и программные прерывания.
Первые возникают по запросу периферийных устройств. Вторые по-
зволяют использовать предоставляемые системой MS-DOS и BIOS
большой набор подпрограмм, выполняющих различные полезные
действия и оформленные как программные прерывания. В некото-
рых случаях стандартные программы обработки как аппаратных, так
и программных прерываний могут не удовлетворять
программиста.
Поэтому появляется необходимость заменить существующую про-
грамму обработки прерывания иной или внести новые функции в
уже имеющуюся программу.
7.1. Обработка прерывания
Рассмотрим подробно действия, которые называются обра-
боткой прерывания. Эти действия выполняются независимо от то-
го вызвано ли прерывание аппаратно или программно. При полу-
чении сигнала на прерывание (при аппаратном прерывании от
программируемого контроллера прерываний, при программном
командой процессора int) процессор содержимое CS, IP и регист-
ра флагов сохраняет в стеке. В CS и IP помещается
адрес подпро-
граммы обработки прерывания, которая и выполняется, после че-
го восстанавливаются из стека содержимое CS, IP и регистра фла-
гов, и процессор продолжает выполнение программы.
Двойное слово, в котором хранится адрес подпрограммы об-
работки прерывания, называется вектором прерывания. Всего до-
пустимо иметь 256 различных векторов прерываний. Для хранения
векторов прерываний в DOS выделен
первый килобайт памяти.
7. Обработка прерываний
В MS-DOS различают аппаратные и программные прерывания.
Первые возникают по запросу периферийных устройств. Вторые по-
зволяют использовать предоставляемые системой MS-DOS и BIOS
большой набор подпрограмм, выполняющих различные полезные
действия и оформленные как программные прерывания. В некото-
рых случаях стандартные программы обработки как аппаратных, так
и программных прерываний могут не удовлетворять программиста.
Поэтому появляется необходимость заменить существующую про-
грамму обработки прерывания иной или внести новые функции в
уже имеющуюся программу.
7.1. Обработка прерывания
Рассмотрим подробно действия, которые называются обра-
боткой прерывания. Эти действия выполняются независимо от то-
го вызвано ли прерывание аппаратно или программно. При полу-
чении сигнала на прерывание (при аппаратном прерывании от
программируемого контроллера прерываний, при программном
командой процессора int) процессор содержимое CS, IP и регист-
ра флагов сохраняет в стеке. В CS и IP помещается адрес подпро-
граммы обработки прерывания, которая и выполняется, после че-
го восстанавливаются из стека содержимое CS, IP и регистра фла-
гов, и процессор продолжает выполнение программы.
Двойное слово, в котором хранится адрес подпрограммы об-
работки прерывания, называется вектором прерывания. Всего до-
пустимо иметь 256 различных векторов прерываний. Для хранения
векторов прерываний в DOS выделен первый килобайт памяти.
65
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »
