Продвижение сайта стоимость самая доступная.
Лучшие книги интернета
Материалы предоставлены только для просмотра. Любое использование материалов в коммерческих целях запрещено

Справочник программиста на персональном компьютере фирмы IBM34



    показания системных часов. Прерывание от клавиатуры [3.1.0] вызы-
    вается при нажатии или отпускании клавиши; оно вызывает цепь
    событий, которая обычно заканчивается тем, что код клавиши поме-
    щается в буфер клавиатуры (откуда он затем может быть получен
    программными прерываниями).
    Микросхема 8259 имеет три однобайтных регистра, которые управ-
    ляют восемью линиями аппаратных прерываний. Регистр запроса на
    прерывание (IRR) устанавливает соответствующий бит, когда линия
    прерывания сигнализирует о запросе. Затем микросхема автоматичес-
    ки проверяет не обрабатывается ли другое прерывание. При этом она
    запрашивает информацию регистра обслуживания (ISR). Дополнитель-
    ная цепь отвечает за схему приоритетов. Наконец, перед вызовом
    прерывания, проверяется регистр маски прерываний (IMR), чтобы
    узнать разрешено ли в данный момент прерывание данного уровня.
    Как правило программисты обращаются только к регистру маски пре-
    рываний через порт 21H [1.2.2] и командному регистру прерываний
    через порт 20H [1.2.3].
    1.2.2 Запрет/разрешение отдельных аппаратных прерываний.
    Программы на аасемблере могут запретить аппаратные прерывания,
    перечисленные в [1.2.1]. Это маскируемые прерывания; другие аппа-
    ратные прерывания, возникающие при некоторых ошибках (таких как
    деление на ноль) не могут быть маскированы. Имеются две причины
    для запрета аппаратных прерываний. В первом случае все прерывания
    блокируются с тем чтобы критическая часть кода была выполнена
    целиком, прежде чем машина произведет какое-либо другое действие.
    Например, прерывания запрещают при изменении вектора аппаратного
    прерывания, избегая выполнения прерывания когда вектор изменен

Предыдущая страница    34    Следующая страница




304843829