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

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



    указанный адрес. Адреса имеют размер два слова. Старшее слово
    содержит значение сегмента (CS), младшее содержит смещение (IP).
    Чтобы установить вектор, указывающим на одну из Ваших процедур,
    нужно поместить сегмент процедуры в DS, а смещение в DX (следуя
    порядку нижеприведенного примера). Затем поместите номер прерыва-
    ния в AL и вызовите функцию. Любая процедура прерывания должна
    завершаться не обычной инструкцией RET, а IRET. (IRET выталкивает
    из стека три слова, включая регистр флагов, в то время как RET
    помещает на стек только два. Если Вы попытаетесь тестировать
    такую процедуру как обычную процедуру, но кончающуюся IRET, то Вы
    исчерпаете стек.) Отметим, что функция 25H автоматически запре-
    щает аппаратные прерывания в процессе изменения вектора, поэтому
    не существует опасности, что посреди дороги произойдет аппаратное
    прерывание, использующее данный вектор.
    ;-установка прерывания
    PUSH DS ;сохраняем DS
    MOV DX,OFFSET ROUT ;смещение для процедуры в DX
    MOV AX,SEG ROUT ;сегмент процедуры
    MOV DS,AX ;помещаем в DS
    MOV AH,25H ;функция установки вектора
    MOV AL,60H ;номер вектора
    INT 21H ;меняем прерывание
    POP DS ;восстанавливаем DS
    ;-процедура прерывания
    ROUT PROC FAR
    PUSH AX ;сохраняем все изменяемые регистры
    .

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




740334704