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

39Робер Журден



    .
    POP AX ;восстанавливаем регистры
    MOV AL,20H ;эти две строки надо использовать
    OUT 20H,AL ;только для аппаратных прерываний
    IRET
    ROUT ENDP
    В конце кода каждого из Ваших аппаратных прерываний Вы должны
    включить следующие 2 строчки кода:
    MOV AL,20H
    OUT 20H,AL
    Это просто совпадение, что числа (20H) одни и те же в обеих
    строках. Если аппаратное прерывание не заканчивается этими стро-
    ками, то микросхема 8259 не очистит информацию регистра обслужи-
    вания, с тем чтобы была разрешена обработка прерываний с более
    низкими уровнями, чем только что обработанное. Отсутствие этих
    строк легко может привести к краху программы, так как прерывания
    от клавиатуры скорее всего окажутся замороженными и даже
    Ctrl-Alt-Del окажется бесполезным. Отметим, что эта добавка не
    нужна для тех векторов прерываний, которые являются расширениями
    существующих прерываний, таким как прерывание 1CH, которое добав-
    ляет код к прерыванию времени суток [2.1.7].
    Когда программа завершается, должны быть восстановлены ориги-
    нальные вектора прерываний. В противном случае последующая прог-
    рамма может вызвать данное прерывание и передать управление на то
    место в памяти, в котором Вашей процедуры уже нет. Функция 35
    прерывания 21H возвращает текущее значение вектора прерывания,
    помещая значение сегмента в ES, а смещение в BX. Перед установкой

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




1467408115