Re: Przerwania, maski przerwań w PC

Autor: DooMiniK (bachus20_at_poczta.wp.pl)
Data: Sun 18 Mar 2001 - 19:10:37 MET


Użytkownik <o_net_user_at_poczta.onet.pl> napisał w wiadomości news:6b65.00000004.3ab46b44_at_newsgate.onet.pl...
> Witam.
> Probuje napisac program ktory w dosc nietypowy sposob bedzie obslugiwal
> przerwania. W tym celu musze m.in operowac maska przerwan. W BCB znalazlem
> tylko disable() i enable() ktore jedynie blokuja lub odblokowuja wszystkie
> przerwania (poza niemaskowalnym). Widze juz, ze bede to musial napisac w
> czystym DOSie (6.22) Jak w C (a moze w ASMie) steruje sie maska przerwan.
> Jak zablokowac jakies a odblokowac inne przerwanie ??
Heh - ze mnie programista, jak z koziej dupy trąba, no ale
wtrące swoje trzy grosze ...
Masz tu programik przełącz. kontroler w tryb 8088/'86, dopuszczający
przykładowo przerwania dla LPT2 oraz wolnego kanału
(wysyłający polecenie EOI:
MOV AL,13H ;ICW1
OUT 20H,AL ;do portu 20H
MOV AL,8 ;ICW2
OUT 21H,AL ;do portu 21H
MOV AL,9 ; ICW4
OUT 21H,AL ;do portu
MOV AL, 0DBH ;OCW1=DBH
OUT 21H,AL ;do portu 21H
STI ; ustawia przerwanie
MOV AL,20H ;wysyłanie E0I
OUT 20H,AL ;do portu 20H

ps. w Pasacalu też można się bawić
(SETINITVEC, PORT)

--
DooMiniK (bachus)


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 21:41:32 MET DST