Ich hab den PIC umprogrammiert und IDT + GDT eingerichtet.
Funktioniert soweit auch. Aber jetzt möchte ich natürlich kleine Treiber für ein paar Hardware Komponenten programmieren. Und hab gelesen, dass der PIC dafür zuständig ist die Hardware ständig zu überprüfen und bei einer positiven Überprüfung ein Interrup auszulösen. Doch wenn ich in einer Endlosschleife (in der zurzeit noch nichts steht) bin und eine Taste drück wird kein Innterrupt ausgelöst.
Muss noch etwas gemacht werden, dass ich nicht weiß? Oder hab ich den PIC falsch umprogrammiert? (hab in umprogrammiert auf Int 32 âInt 47)
PS. Was hat es mit dem IRQ 0 (System Zeit Interrup bei mit Int 32) auf sich, wir of wird er aufgerufen und muss ich noch was zu programmieren (Zur Zeit ist fast nicht bei Int 32 da) sprich System Zeit Uhr oder so etwas?
Code vor dem Sprung zum PMode.
Funktioniert soweit auch. Aber jetzt möchte ich natürlich kleine Treiber für ein paar Hardware Komponenten programmieren. Und hab gelesen, dass der PIC dafür zuständig ist die Hardware ständig zu überprüfen und bei einer positiven Überprüfung ein Interrup auszulösen. Doch wenn ich in einer Endlosschleife (in der zurzeit noch nichts steht) bin und eine Taste drück wird kein Innterrupt ausgelöst.
Muss noch etwas gemacht werden, dass ich nicht weiß? Oder hab ich den PIC falsch umprogrammiert? (hab in umprogrammiert auf Int 32 âInt 47)
PS. Was hat es mit dem IRQ 0 (System Zeit Interrup bei mit Int 32) auf sich, wir of wird er aufgerufen und muss ich noch was zu programmieren (Zur Zeit ist fast nicht bei Int 32 da) sprich System Zeit Uhr oder so etwas?
Code: [Auswählen]
mov al, 00010001b ;Das ICW in AL schreiben
out 0x20, al ;ICW an PIC1 senden
out 0xA0, al ;ICW an PIC2 senden
mov al, 0x20 ;AL auf 32 setzen
out 0x21, al ;ICW2 an ersten PIC senden
mov al, 0x28 ;AL auf 40 setzen
out 0xA1, al ;ICW2 an zweiten PIC senden
mov al, 00000100b ;Die IRQ2 Leitung auf 1 setzen
out 0x21, al ;An den Master-PIC senden
mov al, 2 ;Hier nun die NUMMER der IRQ-Leitung angeben
out 0xA1, al ;An den Slave-PIC senden
mov al, 00000001b ;Die Bits wie oben beschrieben setzen
out 0x21, al ;ICW4 an Master-PIC senden
out 0xA1, al ;ICW4 an Slave-PIC senden
mov al, 0x20 ;EOI-Wert in AL ablegen
out 0x20, al ;EOI an Master-PIC senden
mov al, 0x20 ;EOI-Wert in AL ablegen
out 0xA0, al ;EOI an Slave-PIC senden
out 0x20, al ;EOI an Master-PIC sendenCode vor dem Sprung zum PMode.

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert
