Hallo,
und zwar beschäftige ich mich schon länger mit der Entwicklung eines Betriebssystems. Hab aber nie den richtigen Einstieg geschafft.
Nun habe ich mal damit angefangen und stecke gerade bei der bearbeitung der Interrupts.
Mein Code sieht ziemlich so aus, wie der Beispielcode im Teil 5 des Tutorials.
Wenn ich selber Interrupts erzeuge (asm volatile("int $0x0")
, dann wird dieser auch angezeigt.
Nur ich stehe auf dem Schlauch, wie ich die Interrupts der Hardware (z.B. Tastatur) in mein Programm kriege.
Und noch ne kleine Verständnisfrage am Rande:
In dem C-Code wird die Funktion intr_stub_0 aufgerufen (also sie wird an die Funktion idt_set_entry übergeben). Woher weiß der C-Compiler jetzt, dass dadurch das Assembler-Makro intr_stub mit dem Parameter 0 aufgerufen werden muss? Blick da irgendwie nicht durch.
Hoffe mir kann jemand helfen.
Danke
und zwar beschäftige ich mich schon länger mit der Entwicklung eines Betriebssystems. Hab aber nie den richtigen Einstieg geschafft.
Nun habe ich mal damit angefangen und stecke gerade bei der bearbeitung der Interrupts.
Mein Code sieht ziemlich so aus, wie der Beispielcode im Teil 5 des Tutorials.
Wenn ich selber Interrupts erzeuge (asm volatile("int $0x0")
, dann wird dieser auch angezeigt. Nur ich stehe auf dem Schlauch, wie ich die Interrupts der Hardware (z.B. Tastatur) in mein Programm kriege.
Und noch ne kleine Verständnisfrage am Rande:
In dem C-Code wird die Funktion intr_stub_0 aufgerufen (also sie wird an die Funktion idt_set_entry übergeben). Woher weiß der C-Compiler jetzt, dass dadurch das Assembler-Makro intr_stub mit dem Parameter 0 aufgerufen werden muss? Blick da irgendwie nicht durch.
Hoffe mir kann jemand helfen.
Danke


Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert