На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 4 / Программные прерывания. Прерывания от таймера. Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Программные прерывания. Прерывания от таймера.

Для процессоров 80х86 механизм программных прерываний обеспечивает команда INT (обработка прерываний). Процессор одинаково обрабатывает программные и аппаратные прерывания. При исполнении команда INT передает управление ISR, специфицированной операндом команды. Например, команда int 60h вызывает подпрограмму обработки прерываний, адрес которой записан в IVT со смещением 180h (4х60h). Контроллер прерываний не включается и ISR не посылает EOI контроллеру прерываний. DOS широко использует программные прерывания. Поскольку все обращения к ISR осуществляются через IVT, заменить подпрограмму обработки прерываний несложно. Вы будете часто иметь повод для модификации IVT при написании резидентных программ.


PC использует один канал интегральной схемы 8253 счетчика/таймера для запроса прерываний 18,2 раза в секунду. Контроллер 8259A в ответ на этот запрос генерирует прерывание int 8h. Это прерывание по таймеру имеет высший приоритет и будет вытеснять любые другие прерывания до тех пор, пока не будут заблокированы все прерывания командой CLI (очистка прерываний).


Это прерывание обычно обслуживает программа ROM-BIOS. После обновления времени суток и выполнения некоторых других служебных задач, программа ROM-BIOS выполняет команду int 1Ch. Программы, которые должны выполняться периодически, могут установить свою собственную подпрограмму обработки прерывания int 1Сh. По умолчанию подпрограмма обработки прерывания int 1Сh ROM-BIOS содержит команду IRET.


НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz