Autor Thema: INT-Nr innerhalb des Handlers rauskriegen  (Gelesen 6170 mal)

Lizer

  • Beiträge: 28
    • Profil anzeigen
Gespeichert
« am: 08. April 2004, 12:36 »
Guten Tag erstmal!

Da ich ziemliche Probleme mit meinen Interrupts hab (sti -> reset) und eigentlich alles stimmen müsste, will ich einen Interrupt-Handler schreiben, der einfach nur die Nummer des aufgerufenen Interrupts ausgibt, um rauszukriegen, welcher (evtl. nicht existente) Handler für den Absturz zuständig ist. Weil ich nicht unbedingt 256 INT-Handler schreiben will, wollte ich mal wissen, ob beim auslösen eines Interrupts die entsprechende Nummer irgendwo (irgendein Register, cr0, cr1 etc. oder sonstwas) gespeichert wird, so dass ich suie nur noch auslesen und ausgeben muss. Weiß jemand was darüber?

Danke im Voraus,

Lizer.

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #1 am: 08. April 2004, 13:23 »
Also soweit ich das weiß wird vom Prozessor die Int Nummer ausgewertet und dann automatisch zum entsprechenden Eintrag in der IDT gesprungen.

IMHO sollte es also nicht möglich sein die Nummer aus einem Register zu lesen.

Außerdem musst du dir nicht alle 256 Interrupts belegen.
DIe ersten 32 sind soweit ich weiß nur wichtig für den Prozessor.
Also sollte es genügen wenn du diese belegst.
----------------------
Redakteur bei LowLevel

Lizer

  • Beiträge: 28
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 08. April 2004, 15:05 »
Noch 'ne allgemeine Frage: Nach dem Initialisieren der PICs sehe ich in Beispielen immer, dass zuerst 0x20 und dann 0x07 an beide PICs geschickt wird. Ersteres ist ja das ACK, wozu zu aber 0x07?

 

Einloggen