So, habe nochmal ne kleine Frage zu euren Bootloader *gg*
1)
; Sektoren lesen (Interrupt 13h, 2)
mov ah, 2 ; Funktion 2 (Lesen)
mov al, 5 ; Lese 5 Sektoren
mov cx, 2 ; Cylinder=0, Sector=2
mov dx, 0 ; Head=0, Laufwerk=0
int 13h ; ES:BX = Daten vom Laufwerk
jc load1 ; Fehler? Noch mal!
mov si,loadmsg
call putstr ; Meldung ausgeben
retn
ihr setzt hier dx einfach auf 0, im Prinzip ist es ja ähnlich wie das, was ich schon oben geschrieben habe, aber meine Frage ist, wenn ihr das Laufwerk auf 0 setzt ist das zwar nicht falsch, aber auch nur wenn es sich um ein Diskettenlaufwerk handelt oder
wäre es nicht geschickter so:
mov dl,[bootdrv]
mov dh,0
oder ist das Absichtlich ?? (kenne mich halt (noch) net soo toll aus und will halt ne Bestätigung ob meine Ansicht true or false ist )
2)
;Springe zu diesem Kernel
mov ax, 0x1000 ; Die Adresse des Programms
mov es, ax ; Segmentregister updaten
mov ds, ax
push ax
mov ax, 0
push ax
retf
kann es sein dass die Zeilen:
mov es, ax ;und
mov ds, ax
unnötig sind und nicht gebraucht werden, da wir die Segment und Offsetadresse auf den Stack pushen ??
Vielen Dank und sorry, dass ich mit meinen tollen kleinigkeiten nerv *gg*
Grüße
Morti