Hi
- bochs besorgen
http://bochs.sourceforge.net/cgi-bin/topper.pl?name=See+All+Releases&url=http://sourceforge.net/project/showfiles.phpqmrkgroup_ideq12580- Diskettenimage erstellen
- Bochs im debug mode starten (bochsdbg.exe). es erscheint ein menue in dem du laufwerke, images, ... einstellen kanst dort unter 3 - 8 - 1 dein image eintragen. weiter im Menue Memory die richtigen pfade zum BIOS und zu VGA-BIOS eintragen (einfach das null/ weglassen). dann starten. es sollten 2 fenster aufgehen 1. für die debug konsole und eins für den Monitor des simulierten rechners.
- die cpu wird direckt nach dem rechnerstart angehalten. der Instrucktionpointer steht also bei 0xFFFF0, und somit kurtz vor der ausführung des BIOS. in der debug konsole einen breakpoint auf 0x07c00 setzen. wie das getzt genau geht. im handbuch nachlesen glaub "lb 0x07c00" ( wir wollen ja nicht das komplette bios debuggen sondern nur unsern booter
)
- in der debug Konsole dann "c" eingeben und Enter. entspricht run in einem normalen debuger. damit durchläuft bochs das bios, und hält die cpu an wenn die Adresse 0x7c00 ausgeführt werden soll.
- in der Debugkonsole "s" eingeben und Enter. damit wird der nächste befehl ausgeführt. 5 solange wiederholen bis du an der entsprechenden stelle bist die dich interessiert. sollten zwischendrinn int aufrufe drin sein, auf die adresse die nach dem int folgt einen Breakpoint setzen, da du mit s auch die int rotine des bios durchstepst.
- mit "info registers" kannst du dir dann den Status der Register anzeigen lassen. näheres ggf im handbuch nachlesen. Kapitel 8.11
Die Systemeinstellungen kannst du auch in einer datei speichern, und beim start über Parameter übergeben, damit sparst du dir das eintragen des images bei jedem neuen start von bochs.
gruss