int 10



  • ich beschäftig mich grad n bissi mit bootloader/kernel geschichten
    im moment bin ich noch ziemlich am anfang im realmode und hab ein problem mit int 10

    http://de.wikibooks.org/wiki/Interrupts_80x86/_INT_10

    ich benutz bochs für die emulation und kann zwar zeichen ausgeben, aber wenn ich versuche funktion 0 oder funktion1 von int 10 zu benutzen (siehe link) reagiert bochs nach der ausführung des ints nicht mehr

    hat jemand ne idee?



  • Was heisst bochs reagiert nicht mehr? Friert das komplette Programm ein, so dass du es per Task-Manager killen musst, oder laeuft nur dein emulierter Code nicht weiter?
    Schon mit einem anderen VGA-BIOS versucht? Was genau versuchst du auszufuehren (code)?
    ...



  • ich versuch nix sinnvolles 😉
    im prinzip will ich mich nur langsam in richtung c kernel vorarbeiten

    bochs zeigt einfach einen schwarzen bildschirm

    die reihenfolge sieht so aus

    1. modus wechseln oder cursorposition ändern
    2. text ausgeben

    punkt 2 alleine funktioniert
    wenn auch punkt 1 ausgeführt wird bekomm ich nen schwarzen bildschirm

    kann ich bochs irgendwie in nem asm debugger laufen lassen sodass ich die ausführung meines loaders schritt für schritt verfolgen kann?



  • Evtl. kann es sein, dass der Modus, in den du wechselst, keine Textausgabe unterstuetzt.
    Bochs hat auch einen debugger, aber als ich den das letzte Mal beaeugt habe, war das ein ziemlich rudimentaeres Gefrickel in der Bochs-Konsole. Lies halt mal die Anleitung oder such auf der Bochs-HP nach einem brauchbaren Frontend fuer den Debugger.



  • hab nen super debugger gefunden

    http://bfe.sourceforge.net/

    damit lässt sich der bootloader einwandfrei schrittweise abarbeiten



  • Du kannst Bochs auch mit Unterstützung für gdb Remote-Debugging kompilieren,
    dann kannst du mit gdb, oder Insight, der grafischen gdb-Variante sogar auf C-Sourcelevel debuggen...

    Grüße,

    Martin


Anmelden zum Antworten