Windows


MS-DOS - 2


; 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




- -  - -  - -