Hi,
ich schreibe meinen Kernel in FreeBASIC. Jetzt bin ich an der Stelle, an der es sinnvoll wird interrupts nutzen zu können. Daher hab ich mir Routinen geschrieben, die eine IDT erstellen und laden. Testen wollte ich das ganze folgendermaßen:
Ich habe eine funktion als interrupt 0 in die IDT eingetragen, und der Kernel ruft danach (natürlich nachdem die IDT geladen wurde) int 0 auf. Er sollte dann eigentlich einen Text ausgeben, aber alles was er tut, ist abstürzen.
Ich hab mehrmals rumprobiert, aber ich krieg es einfach nicht hin. Ich bin kurz vorm verzweifeln.
Obwohl FreeBASIC eine ungewöhnliche Sprache für einen Kernel ist, hoffe ich das ihr mir helfen könnt.
Die letzte funktionierende Version meines Kernels gibt es auf http://frostkernel.sourceforge.net
Die Version, die Proleme macht, gibts hier (source+image): http://darkinsanity.freehoster.ch/FROST_debug.zip
Die Logfile von Bochs ist hier: http://darkinsanity.freehoster.ch/bochs.log
ich schreibe meinen Kernel in FreeBASIC. Jetzt bin ich an der Stelle, an der es sinnvoll wird interrupts nutzen zu können. Daher hab ich mir Routinen geschrieben, die eine IDT erstellen und laden. Testen wollte ich das ganze folgendermaßen:
Ich habe eine funktion als interrupt 0 in die IDT eingetragen, und der Kernel ruft danach (natürlich nachdem die IDT geladen wurde) int 0 auf. Er sollte dann eigentlich einen Text ausgeben, aber alles was er tut, ist abstürzen.
Ich hab mehrmals rumprobiert, aber ich krieg es einfach nicht hin. Ich bin kurz vorm verzweifeln.
Obwohl FreeBASIC eine ungewöhnliche Sprache für einen Kernel ist, hoffe ich das ihr mir helfen könnt.
Die letzte funktionierende Version meines Kernels gibt es auf http://frostkernel.sourceforge.net
Die Version, die Proleme macht, gibts hier (source+image): http://darkinsanity.freehoster.ch/FROST_debug.zip
Die Logfile von Bochs ist hier: http://darkinsanity.freehoster.ch/bochs.log

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert




