Таблица векторов прерываний. Методические указания к выполнению лабораторной работы. Мадыев А.П - 3 стр.

UptoLike

инсталляции MS DOS» и затем в командной строке указать
компилятор с полной спецификацией.
5.2. Краткие сведения о ТВП
Прерываниеособое событие в системе, требующее
немедленной реакции. Реакция на прерывания состоит в
выполнении центральным процессором специально преду-
смотренной для данного события программы, которая на-
зывается обработчиком прерывания.
В IBM PC-совместимых ЭВМ предусмотрены 2 вида
прерываний: аппаратные и программные. Аппаратные
(обозначаются IRQm, где mуровень прерывания, опреде-
ляемый его приоритетом) вызываются физическими уст-
ройствами с помощью контроллера прерываний в произ-
вольные моменты времени и информируют систему о со-
бытиях, связанных с работой устройств. Программные пре-
рывания вызываются из текущей программы командой
INTn (nномер прерывания) и обеспечивают доступ к об-
щим для всех программ исполняемым модулям, которыми
и являются те или иные обработчики.
Исполняемые коды обработчиков аппаратных преры-
ваний хранятся в микросхеме ПЗУ BIOS (ROM BIOS), об-
работчиков программных прерыванийв файлах операци-
онной системы, загружаемых в оперативную память. Кроме
того, в ПЗУ BIOS хранятся обработчики программных пре-
рываний, обслуживающие стандартные периферийные уст-
ройства. По принадлежности прерывания часто называют
прерываниями BIOS и прерываниями DOS. Обработчики
программных прерываний называют также функциями или
сервисами BIOS и DOS.
Доступ к обработчикам организован через ТВП, в ко-
торой хранятся начальные адреса обработчиков. ТВП за-
нимает первый килобайт (1Кбайт=1024 байта) оперативной
памятиадреса от 0000:0000 до 0000:03FF. Таблица состо-
ит из 256 (по максимально возможному числу обработчи-
ков) элементов - FAR-адресов обработчиков прерываний.
Эти элементы называются векторами прерываний. В пер-
вом слове элемента таблицы записано смещение, а во вто-
ромсегмент адреса обработчика прерывания. Таким об-
разом, каждый вектор указывает на начало исполняемого
кода соответствующего обработчика.
Так прерыванию с номером 0 соответствует адрес
0000:0000, прерыванию с номером 1 – 0000:0004 и т.д.
ТВП заполняется программой начальной загрузки. При
отсутствии какого-либо обработчика вектор, тем не менее,
формируется, но по указанному им адресу записывается
инструкция IRETвозврат из прерывания.
Обработка прерывания происходит следующим обра-
зом. Как только в процессе выполнения текущей програм-
мы появляется команда INTn, которая либо содержится в
текущей программе (программное прерывание), либо
сформирована в данный момент времени с помощью кон-
троллера прерывания по специальному сигналу от какого-
либо устройства (аппаратное прерывание) процессор пре-
рывает выполнение текущей программы, запоминает её со-
стояние и считывает из ТВП вектор прерывания по адресу,
соответствующему номеру n. Затем процессор переходит
по адресу, указанному вектором, на выполнение соответст-
вующего обработчика. Обработчики заканчиваются инст-
рукцией IRET, по которой процессор восстанавливает со-
стояния прерванной программы и возобновляет ее выпол-
нение.
При такой организации в программе не требуется ука-
зывать абсолютный адрес той или иной функции BIOS или
DOS, который часто заранее неизвестен, т.к. его значение
зависит от многих причин. Благодаря ТВП работа про-
грамм не зависит от адресов функций BIOS и DOS, адресов
инсталляции MS DOS» и затем в командной строке указать      ит из 256 (по максимально возможному числу обработчи-
компилятор с полной спецификацией.                          ков) элементов - FAR-адресов обработчиков прерываний.
                                                            Эти элементы называются векторами прерываний. В пер-
                 5.2. Краткие сведения о ТВП                вом слове элемента таблицы записано смещение, а во вто-
    Прерывание – особое событие в системе, требующее        ром – сегмент адреса обработчика прерывания. Таким об-
немедленной реакции. Реакция на прерывания состоит в        разом, каждый вектор указывает на начало исполняемого
выполнении центральным процессором специально преду-        кода соответствующего обработчика.
смотренной для данного события программы, которая на-           Так прерыванию с номером 0 соответствует адрес
зывается обработчиком прерывания.                           0000:0000, прерыванию с номером 1 – 0000:0004 и т.д.
    В IBM PC-совместимых ЭВМ предусмотрены 2 вида               ТВП заполняется программой начальной загрузки. При
прерываний: аппаратные и программные. Аппаратные            отсутствии какого-либо обработчика вектор, тем не менее,
(обозначаются IRQm, где m – уровень прерывания, опреде-     формируется, но по указанному им адресу записывается
ляемый его приоритетом) вызываются физическими уст-         инструкция IRET – возврат из прерывания.
ройствами с помощью контроллера прерываний в произ-             Обработка прерывания происходит следующим обра-
вольные моменты времени и информируют систему о со-         зом. Как только в процессе выполнения текущей програм-
бытиях, связанных с работой устройств. Программные пре-     мы появляется команда INTn, которая либо содержится в
рывания вызываются из текущей программы командой            текущей программе (программное прерывание), либо
INTn (n – номер прерывания) и обеспечивают доступ к об-     сформирована в данный момент времени с помощью кон-
щим для всех программ исполняемым модулям, которыми         троллера прерывания по специальному сигналу от какого-
и являются те или иные обработчики.                         либо устройства (аппаратное прерывание) процессор пре-
    Исполняемые коды обработчиков аппаратных преры-         рывает выполнение текущей программы, запоминает её со-
ваний хранятся в микросхеме ПЗУ BIOS (ROM BIOS), об-        стояние и считывает из ТВП вектор прерывания по адресу,
работчиков программных прерываний – в файлах операци-       соответствующему номеру n. Затем процессор переходит
онной системы, загружаемых в оперативную память. Кроме      по адресу, указанному вектором, на выполнение соответст-
того, в ПЗУ BIOS хранятся обработчики программных пре-      вующего обработчика. Обработчики заканчиваются инст-
рываний, обслуживающие стандартные периферийные уст-        рукцией IRET, по которой процессор восстанавливает со-
ройства. По принадлежности прерывания часто называют        стояния прерванной программы и возобновляет ее выпол-
прерываниями BIOS и прерываниями DOS. Обработчики           нение.
программных прерываний называют также функциями или             При такой организации в программе не требуется ука-
сервисами BIOS и DOS.                                       зывать абсолютный адрес той или иной функции BIOS или
    Доступ к обработчикам организован через ТВП, в ко-      DOS, который часто заранее неизвестен, т.к. его значение
торой хранятся начальные адреса обработчиков. ТВП за-       зависит от многих причин. Благодаря ТВП работа про-
нимает первый килобайт (1Кбайт=1024 байта) оперативной      грамм не зависит от адресов функций BIOS и DOS, адресов
памяти – адреса от 0000:0000 до 0000:03FF. Таблица состо-