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

         

Данная программа ISR увеличивает счетчик


;   NOTES (примечания)

; Данная программа ISR увеличивает счетчик прерываний (dwCount1)

; и заново маскирует устройство.

;

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

;

FIXED_TEXT SEGMENT PARA PUBLIC 'CODE'

segData1     dw  DGroup

    assume  CS:FIXED_TEXT,DS:NOTHING

IntSvcRtn  proc far

    push     ax

    push     dx

    push     ds

    mov ds,segDatal

    assume ds:DGroup

    inc dwCount1

    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 fStopping,0       ; существует?

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

    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

FIXED_TEXT ENDS

;IP_main - точка входа в программу

;    NOTES (примечания)

;    Драйвер    устройства   выдает  для  пользователя   приглашение:

;S)tart(начать)  или  Q)uit(выйти).  Если   пользователь  нажимает S,

;программа разрешает прерывания и вооружает устройство, печатая точку

;каждый раз, как устройство прерывается.

;

_TEXT SEGMENT PARA PUBLIC 'CODE'

segData2     dw  DGroup

segfixed     dw  FIXED_TEXT

    assume  cs:_TEXT,ds:NOTHING

_main label far

    mov ds,segData2   ;инициализируется сегмент данных по умолчанию

    assume ds:DGroup

    mov dx,FAKE_PORT

    in  al,dx              ; присутствует ли фиктивное устройство?

    or  al,al

    jns m10          ;пропустить, если да

    mov dx,OFFSET DGroup:sdNoBogus

    mov ah,9

    int 21h      ; в противном случае печатать сообщение об ошибке

    mov ax,4C01h

    int 21h          ; и выйти из системы

m10:

    mov ax,3500h+INT_DEV


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







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