[Assembler] Interrupts im Protected Mode

Moin!
Im PM ist das Ganze ein wenig komplizierter. Normalerweise sind die Interruptvectoren ja das erste KB im Speicher, im Protected Mode gilt das aber nicht mehr (wie du wahrscheinlich schon gemerkt hast), weil der ganze speicher mehr oder weniger "virtualisiert" wird, d. h. die eigentlichen Speicheradressen werden vom Prozessor umgeleitet. Dadurch können aber auch die Interrupts nicht mehr nach dem alten Schema (Interruptnummer * 4 = Adresse des Vectors) angesprochen werden. Dafür gibt es jetzt die IDT, die Interrupt Descriptor Table, in der die Vectoren eingetragen werden müssen. Im Prozessor widerum wird nun ein Zeiger auf die IDT hinterlegt. Danach sollte dann alles funktionieren wie gehabt.

Eine sehr gute Erklärung, wie das Ganze funktioniert findest du hier:
Interrupts und Exceptions

Ich hoffe, dich weitergebracht zu haben.
MfG TheAlchimist
 

Neue Beiträge

Zurück