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

Программы-обработчики прерываний могут находиться в различных частях основной памяти (место их расположения в разных версиях операционной системы может быть различным). Для обеспечения совместимости программ под разными версиями 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. Управление внешними устройствами. Назначение, виды и характеристики внешних устройств ПЭВМ.

еще рефераты
Еще работы по информатике