Составители:
Рубрика:
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
- …
- следующая ›
- последняя »