Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Работа микропроцессора при выполнении программного прерывания



Программы-обработчики прерываний могут находиться в различных частях основной памяти (место их расположения в разных версиях операционной системы может быть различным). Для обеспечения совместимости программ под разными версиями DOS обращение к обработчикам прерываний осуществляется по их номерам.

Связь между номером прерывания и адресом основной памяти, соответствующим точке входа в обработчик прерывания, осуществляется через таблицу векторов прерываний, занимающую 1 Кбайт сегмента 0 основной памяти.

Поскольку адрес любого байта основной памяти определяется базовым адресом сегмента (2 байта) и смещением в сегменте (2 байта), вектор прерываний разделен на четверки байтов, имеющие структуру

Для получения адреса обработчика прерывания № nh необходимо:

· по номеру прерывания определить адрес первого байта “четверки” в векторе прерываний (он равен п*4);

· выбрать 4 байта из 0 сегмента основной памяти, начиная с байта 4nh;

· два последних байта поместить в регистр CS;

· два первых байта поместить в счетчик команд IP.

После этого начнет выполняться первая команда обработчика прерывания № nh.

Таблица векторов прерываний используется не только для хранения адресов обработчиков прерываний, но и для указания на места хранения в ОП служебной информации. Для этой цели служат векторы прерываний IDh, lEh, IFh, 41h, 43h, 46h, 4Ah. Так, вектор IDh содержит адрес таблицы параметров видеосистемы (а не обработчика прерывания); вектор lEh - таблицы параметров дискет; 1Fh - адрес знакогенератора адаптера CGA и т.д.

При выполнении команды INT номер функции должен содержаться в регистре АН микропроцессора. Остальные регистры должны включать необходимые для этой функции параметры. Например, для функции 02h остальные регистры микропроцессора должны содержать:

AL - число читаемых секторов;

СН - номер дорожки, на которой расположены читаемые сектора;

CL - номер сектора;

DH - номер головки;

DL - номер дисковода;

ES:BX - адрес буфера для чтения.

В результате выполнения этой функции при возникновении ошибки флаг CF устанавливается в 1; в регистр AL заносится число считанных секторов, в регистр АН записывается код состояния, сформированный после окончания операции:

00 - успешное завершение;

01 - некорректная команда;

02 - адресная метка не найдена;

FF - сбой операции опроса (для жесткого диска).

Кроме команд INT и IRET в IBM PC, с прерываниями работают команды CLI (запрещение маскируемых прерываний) и STI (отмена запрета прерывания).


48. Управление внешними устройствами. Назначение, виды и характеристики внешних устройств ПЭВМ.





Дата публикования: 2015-01-23; Прочитано: 466 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...