Zu erstmal es gibt keine dummen Fragen:) mal schaun ob ich dir helfen kann
*Mal das Bootloader Tut durchles* (hab ich noch nie gemacht bisher*grins*)
OK zu 1.
ax zeigt vor aufruf der funktion immer auf den Sektor aus dem gerade gelesen werden soll, wenn die funktion aufgerufen wird, ermittelt diese anhand dieses wertes wo die funktion fortgesetzt wird, also in welchem sektor, und gibt diesen nach ax, das wird dann später wieder verwende, also könnte theoretisch sonstwie verstreut sein. Es wird ja jeder Sektor nacheinander bearbeitet, deswegen kann auch nich übersprungen oder überschreiben werden.
BSP:
Die Datei fängt in Sektor 2 an. also steht in ax am anfang der Dateiladefunktion 2
func_ReadSector liest den Sektor in ax in den Speicher.
Dann wird func_ReadFatEntry aufgerufen. die schaut nach was an stelle 2 der Fat steht(das verweist auf den nächsten sektor der Datei) und gibt den wert in ax zurück, sagen wir mal er wäre 4
so denn liest func_ReadSector wieder den sektor der in ax steht also den 4.
dann wieder func_ReadFatEntry der dann 3 ermittelt, und 3 zurückgibt.
Solange bis irgendwann FFF ermittelt wird
Zu 2.
Du schreibst die Datei nicht auf den Stack, der Interrupt der in der ReadSector Funktion verwendet wird schreibt die Daten an die Addresse die er aus ES:BX bildet. Den Code da führst du aus indem du einen Jmp dahin machst, oder es per Call aufrufst.
Ich hoffe das hat irgendwie geholfen, wenn nicht dann frag einfach nochmal und hau mich wegen meines oftmals wirren ausdrucks;)
Und btw begrüss ich dich , als Admin stellvertretend für den Rest der Comm hier, als neues Mitglied^^