feat: ajout de 3 fonctions testant IRR,ISR et IMR Suppression de la commande "readmaskirq" au profit de la commande "readimr"

This commit is contained in:
Nicolas Hordé 2007-03-27 14:52:53 +00:00
parent 368d613e9f
commit d911b9f44b
1 changed files with 65 additions and 5 deletions

View File

@ -91,7 +91,7 @@ endp seteoi
;Lit les masques d'un contr“leur IRQ dans ax, 0 master ou slave 1 ds %1 ;Lit les masques d'un contr“leur IRQ dans ax, 0 master ou slave 1 ds %1
PROC readmaskirq FAR PROC readimr FAR
ARG @controleur:word ARG @controleur:word
USES bx,dx USES bx,dx
mov bx,[@controleur] mov bx,[@controleur]
@ -104,7 +104,7 @@ PROC readmaskirq FAR
in al,dx in al,dx
pop dx pop dx
ret ret
endp readmaskirq endp readimr
;Lit le registre d'tat d'un contr“leur IRQ dans ax, 0 master ou slave 1 ds %1 ;Lit le registre d'tat d'un contr“leur IRQ dans ax, 0 master ou slave 1 ds %1
PROC readisr FAR PROC readisr FAR
@ -141,7 +141,65 @@ PROC readirr FAR
ret ret
endp readirr endp readirr
interruptionbloc db '/interrupts',0 ;carry si enable et pas carry si pas enable
PROC isenableirq FAR
ARG @irq:word
USES ax,cx,dx
mov ax,[@irq]
mov dx,MASTERPIC+IRQMASK
cmp al,7
jbe @@master
mov dx,SLAVEPIC+IRQMASK
@@master:
mov cl,al
and cx,7
in al,dx
neg al
bt ax,cx
ret
endp isenableirq
;carry si enable et pas carry si pas enable
PROC isinserviceirq FAR
ARG @irq:word
USES ax,cx,dx
mov ax,[@irq]
mov dx,MASTERPIC
cmp al,7
jbe @@master
mov dx,SLAVEPIC
@@master:
mov cl,al
mov al,ISR
out dx,al
and cx,7
in al,dx
neg al
bt ax,cx
ret
endp isinserviceirq
;carry si enable et pas carry si pas enable
PROC isrequestirq FAR
ARG @irq:word
USES ax,cx,dx
mov ax,[@irq]
mov dx,MASTERPIC
cmp al,7
jbe @@master
mov dx,SLAVEPIC
@@master:
mov cl,al
mov al,IRR
out dx,al
and cx,7
in al,dx
neg al
bt ax,cx
ret
endp isrequestirq
PROC installirqhandler FAR PROC installirqhandler FAR
@ -211,10 +269,13 @@ PROC installirqhandler FAR
endp installirqhandler endp installirqhandler
interruptionbloc db '/interrupts',0
PROC savecontext far PROC savecontext far
ARG @pointer:word ARG @pointer:word
USES si USES si
push [ss:bp] push [word ptr ss:bp]
push esi push esi
pushfd pushfd
mov si,[@pointer] mov si,[@pointer]
@ -326,7 +387,6 @@ jnz @@launchall
ret ret
endp irqhandler endp irqhandler
PROC