Драйверы устройств в системе Windows

         

посылаем EOI также главному контроллеру


; сообщение

; Если установлен флаг "fStopping", устройство не маскируется заново.

;

FIXED_TEXT SEGMENT PARA PUBLIC 'CODE'

selData1    dw   FIXED_DATA

     assume  CS:FIXED_TEXT,DS:NOTHING

PUBLIC _IntSvcRtn

_IntSvcRtn label far

IntSvcRtn proc far

    push     ax

    push     dx

    push     ds

    mov ds,selDatal

    assume  ds:FIXED_DATA

    inc wCount

    mov al,NOT FAKE_CTL_EOI

    mov dx,FAKE_PORT

    out dx,al          ; посылаем устройству EOI

    mov al,EOI

    out PIC00,al       ; посылаем EOI контроллеру PIC

ife (PIC00 EQ INTA00)

    out INTA00,al      ; посылаем EOI также главному контроллеру PIC

endif

    cmp hWndEvent,0    ; завершать?

    jz  isr9           ; если да, то не делаем перезапуска и

                       ; постирования

    cmp wCount,1       ; требуется постирование?

    jne isr8           ; пропускаем, если нет

    push   bx          ; сохраняем оставшиеся регистры

    push   cx

    push   es

    push   hWndEvent

    push   WM_COMMAND

    push   wParamEvent

    push   0   ; lParam равно 0

    push   0

    call   POSTMESSAGE    ; регистрируем

событие

    pop es

    pop cx

    pop bx

isr8:

    mov al,NOT FAKE_CTL_START

    mov dx,FAKE_PORT

    out dx,al          ; возобновляем ввод-вывод

isr9:

    pop ds

    assume  ds:NOTHING

    pop dx

    pop ax

    iret

IntSvcRtn endp

; требуется программе AllocIntReflector

PUBLIC _BogusCallback

_BogusCallback label far

BogusCallback proc far

    pushf

    call     IntSvcRtn

    ret

BogusCallback endp

FIXED_TEXT ENDS

    end

; конец файла

_____________________________________________________________________

     Листинг 2. Программа bogusa.asm


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий