русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Обработка прерываний

Обработка прерываний в реальном режиме производится в 3 этапа:

  1. Прекращается выполнение текущей программы.
  2. Выполняется переход к выполнению и само выполнение программы обработки прерываний.
  3. Возврат управления прерванной программе.

1-ый этап должен обеспечить временное прекращение выполнения текущей программы, при этом должна сохраниться возможность продолжения работы программы после возникновения прерывания. Для этого необходимо учесть состояние разделяемых между программами ресурсов, т.е. регистров МП. Их содержимое необходимо сохранять. Регистры CS, IP, eFlags сохраняются МП автоматически. Сохранение содержимого остальных регистров должно обеспечиваться программистом - в начале программы обработки прерывания до их использования. Наиболее удобным местом хранения регистров является стек. В конце первого этапа МП после включения в стек регистров FLAGS, CS и IP сбрасывает бит флага прерываний, при этом в стек записывается предыдущее значение регистра FLAGS.

2-ой этап заключается в определении источника прерывания и вызова соответствующей команды обработки. В реальном режиме работы МП допускается до 255 источников прерывания. Количество источников ограничивается размером таблицы векторов прерываний. Эта таблица – связующее звено между источником прерывания и процедурой обработки. На 2-ом этапе обработки прерываний МП выполняет следующие действия:

· По номеру источника прерывания определяет смещение в таблице векторов прерываний = n*4, где n от 0 до 255 и соответствует номеру источника прерываний, а 4 – это каждый элемент таблицы векторов прерываний занимает 4 байта, причем первое слово элемента таблицы содержит адрес начала процедуры обработки прерывания относительно начала кодового сегмента. Второе слово элемента таблицы содержит базовый адрес кодового сегмента, в котором находится процедура обработки прерывания.

· Размещаем первые 2 байта в регистр IP.

· Вторые 2 байта по вычисленному адресу в регистр CS.

· Передается управление по адресу CS:IP.

3-ий этап – восстановления контекста прерванной программы. Т.е приведение стека в состояние, в котором он был сразу до возникновения прерывания. Для этого программист должен выполнить действия по восстановлению регистров и очистке стека. Результатом 3-го этапа является передача управления очередной команде прерванной программы, которая должна была выполниться, если прерывания не было.

Просмотров: 517


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.