PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bootprogramm......


Format C:
25.08.2002, 16:51
folgendes Prog habe ich Kompiliert und auf den Bootsector einer Diskette geschrieben:


; Zahl '1' ausgeben
mov ah, 0Eh
mov al, '1'
mov bh, 0;
int 10h


; Sector Laden !
mov ax, 0
mov es, ax
mov bx, 600h

mov ah, 2
mov al, 1 ; Anzahl Sectoren

mov ch, 1 ; Spur
mov cl, 1 ; Sector
mov dh, 0 ; Seite


mov dl, 0 ; Laufwerk
int 13h

; Zahl '2' ausgeben
mov ah, 0Eh
mov al, '2'
mov bh, 0;
int 10h


jmp 600h



wie zu sehen ist wird der Sector 1, Seite 0, Spur 1 in den RAM geladen, an Adresse 600h
Anschliesend wir an diese Adresse gesprungen

auf der Diskette befindet sich an Sector 1, Seite 0, Spur 1 :

mov ah, 0
int 16h


Normalerweise sollte ja folgendes Passieren:
Zeichen 1 wird ausgegeben,
dann wird der Sector 1, Seite0, Spur 1 in den RAM geladen
Zeichen 2 Wird ausgegeben

Aber auf dem Bildschiirm ist zu sehen

1212

warum wird 2 mal die Adresse 600h angesprungen ?


Felix Kaiser
25.08.2002, 18:29
An solche Ereignisse kann ich mich auch noch flüchtig erinnern, weiß zwar nich mehr worans lag, aber, man sollte eigentlich beim Bootsektor erstellen nach einem etwas 'besserem' Plan vorgehen. Ich, sowie die meisten Bootsektoren gehen diesen Weg:

-Stack setzen (SS:SP) auf CS:FFFE
-Weiteren Bootsektor laden auf 0070:0000
-Stack ggf. erneut ändern
-FAR Jump auf 0070:0000

Ich hab dann aber immer 0060:0100 aufgerufen, ganz einfach aus dem Grund, dass ich dann einfach einen im TINY Modell compilierten Code benutzen konnte, problemlos. Hat den Vorteil, man kann das Ding als COM-File unter DOS verchecken und ebenso läufts dann auch als Bootsektor. Nur halt mit Interrupts aufpassen ;)

Format C:
25.08.2002, 19:39
hab grad im Netz ein kleines Tutorial über ein "minimales" Betriebsystem gefunden. Ich werd mir das Teil erst mal reinziehen :D


http://www.codingcommunity.de/thread.php?threadid=20&boardid=17

DerWolf
26.08.2002, 18:34
Hier sind ne menge brauchbare dinge zum os coding :)
http://www.nondot.org/sabre/os/articles
http://www.fh-zwickau.de/doc/prmo/pmtutor/text/index.htm#pmode
http://my.execpc.com/~geezer/osd/docs/index.htm
http://home.teleport.com/~brainy/fat32.htm

hoff das hilft bissel :)