/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Interrupts
Fra : Ulrik Jensen


Dato : 12-02-01 16:43

Hej !

Jeg læste i en tråd her, at man for at aflæse keyboardets input skulle
overloade interrupt 15h.......

Nu går mit spørgsmål så på, hvordan registrerer jeg / bruger jeg en
interrupt funktion ?

f.eks.

// PSEUDO-kode.........
interrupt keyboardinput()
{
if (er_ascii_input())
gem_ascii_kode_i_buffer;
else
gem_anden_kode_som_ny_slags_ascii_i_buffer();
}

Hvordan registrerer jeg sådan en funktion til interrupt 15h ? og hvad skal
funktionen returnere ? min kompiler brokker sig ( TC++ 3.0 - dos )...

Scancodes :

Har i noget info om dem ? format ? så noget om at det syvne bit angav state,
altså sluppen eller nede........

Til sidst, hvilket interrupt ligger musen på ? flyt / tryk ? og igen format
af scancode ? ?

Med venlig hilsen og på forhånd tak
Ulrik Jensen
ulrik@qcom.dk



 
 
Morten Boysen (12-02-2001)
Kommentar
Fra : Morten Boysen


Dato : 12-02-01 23:01

"Ulrik Jensen" <ulrik@qcom.dk> wrote in message
news:4wTh6.50734$zw.875067@twister.sunsite.dk...
> Hej !
>
> Jeg læste i en tråd her, at man for at aflæse keyboardets input
skulle
> overloade interrupt 15h.......
>
> Nu går mit spørgsmål så på, hvordan registrerer jeg / bruger jeg en
> interrupt funktion ?

Du skal loade adressen på dit Code Segment og Instruction Pointer ind
i interrupt vektor-tabellen. Dette kan gøres under DOS, men ikke under
mere moderne OS'er. Du kan se mere om det i bogen "Microprocessors and
Interfacing" af Douglas V. Hall.


--
Morten Boysen



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste