Программирование на Ассемблере для персональных компьютеров. Садовой Н.Н - 65 стр.

UptoLike

Составители: 

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