Autor Thema: Probleme mit Bootloader  (Gelesen 2055 mal)

BlueB

  • Beiträge: 5
    • Profil anzeigen
Gespeichert
« am: 04. March 2005, 17:10 »
Hallo
Ich habe mal eine Frage zum Bootsector.
Der wurde jetzt von mir selbst entwickelt!!! und funktioniert nich.
Der Code sieht so aus


[org 0]

jmp 0c70h:start
start:
mov ax,cs
mov ds,ax
mov es,ax

init_drive:
mov ah,0
mov dl,0
int 13h

jc init_drive

read
mov ax,1000h
mov es,ax
mov bx,0

mov ah,2
mov al,5
mov ch,0
mov cl,2
mov dh,0
mov dl,0
int 13h

jc read

jmp 1000h:0000

times 510-($-$$) db 0
dw 0AA55h


Kann man hier schon Fehler feststellen?

der kernel ist erstmal so


mov ah,0bh
mov bx,000Fh
int10h


zusammengefügt


%include 'boot.asm'
%include 'prog.asm'


Dann habe ich die dritte Datei assembliert und es gab keine Fehler.
Dann habe ich die .bin-Datei auf eine formatierte diskette geschrieben.
Den PC rebootet und gewartet. Doch es passiert nichts.
Wo liegt der Fehler?

Danke schon mal

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #1 am: 04. March 2005, 17:14 »
1. machn org davor.
2. mach den jump weg, wozu soll der sein?
3. setze prophylaktisch bits auf 16.
4. lade den kernel an 0x50:0x0000, alles andere is platzverschwendung (du musst das org im kernel dann auch auf [org 0x500] statt [org 0x10000] stellen!)

[ORG 0x7C00]      ;startup
[BITS 16]         ;16 bit  

start:
mov ax,cs
mov ds,ax
mov es,ax

init_drive:
mov ah,0
mov dl,0
int 13h

jc init_drive

read:
mov ax,50h
mov es,ax
mov bx,0

mov ah,2
mov al,5
mov ch,0
mov cl,2
mov dh,0
mov dl,0
int 13h

jc read

jmp 50h:0000

times 510-($-$$) db 0
dw 0AA55h


FERTIG. nicht getestet, sonst sehe ich aber nix. kannst noch ne MSG ausgeben, obs bis zum jump geklappt hat, aber das musste selber machn :D

mfg
J!N
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« Antwort #2 am: 05. March 2005, 01:01 »
BlueB villeicht war dein fehler der. du hast bei read kein ":" gemacht... mayby... ;)

Homix

  • Beiträge: 138
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 05. March 2005, 11:20 »
hi,

jmp 0c70h:start


müsste das dann nicht so heißen:

jmp 7c00h:start

??

cu,
stefan2005

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #4 am: 05. March 2005, 11:55 »
eigendlich schon, aber man braucht es nicht.
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

BlueB

  • Beiträge: 5
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 05. March 2005, 12:30 »
Also erst mal Danke für so viele Antworten.

@Stephan und Zack
Das sind nur abschreib Fehler, aber trotzdem danke :-)

@joachim
Das war der Fehler. Jetzt funktioniert er einwandfrei.

Danke

 

Einloggen