Einzelnen Beitrag anzeigen

sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

bootsektor schreiben

  Alt 3. Okt 2006, 12:21
hallo
ich versuche grad (einfach aus interesse) einen eigenen bootsektor zu schreiben und meinen rechner direkt damit zu booten..jetzt hab ich folgendes beispiel gefunden:

Zitat:
; start hellocyberspace.asm
; 2.ASM
; Print "Hello Cyberspace!" on the screen and hang

; Tell the compiler that this is offset 0.
; It isn't offset 0, but it will be after the jump.
[ORG 0]

jmp 07C0h:start ; Goto segment 07C0

; Declare the string that will be printed
msg db 'Hello Cyberspace!'


start:
; Update the segment registers
mov ax, cs
mov ds, ax
mov es, ax


mov si, msg ; Print msg
print:
lodsb ; AL=memory contents at DS:SI

cmp al, 0 ; If AL=0 then hang
je hang

mov ah, 0Eh ; Print AL
mov bx, 7
int 10h

jmp print ; Print next character


hang: ; Hang!
jmp hang


times 510-($-$$) db 0
dw 0AA55h
; end hellocyberspace.asm
das ganze kompiliert mit "nasm hellocyberspace.asm -o hellocyberspace.bin"

so, wenn ich jetzt mit meinem disk-editor den inhalt dieser bin-datei auf den bootsektor meines usb-sticks schreibe und meinen rechner starte, bekomme ich beim booten folgendes:

"Searching for Boot Record from USB RMD-HDD..OK"

...und sonst nix weiter...die Meldung "Hello Cyberspace!" wird nicht angezeigt. Woran kann das liegen; klappt es bei euch?

Danke,

Martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat