Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: jeb am 06. April 2005, 20:46

Titel: warum funzt der code nicht?
Beitrag von: jeb am 06. April 2005, 20:46
titel sagt ja schon alles:

jmp code ;Bootjump
db "MSWIN4.1" ;OS_Name
db 0x200 ;Bytes/Sector
db 0x01 ;Anzahl Sektoren/Cluster
db 0x02 ;FAT-Tabellen
db 0xe0
db 0xb40
db 0xF0
db 0x09
db 0x12
db 0x02
db 0x00
db 0x00
db 0x00
db 0x00
db 0x29
db 0x00
db 0x00
db 0x00
db 0x00
db "        "
db "FAT12   "

msg db "Hallo auf meiner Diskette",0
code:
mov si,msg
lodsb
or al,al
jz code_end
mov ah,0x0e
mov bx,0x0007
int 0x10
jmp code
code_end:

times 512-($-$$)-2 db 0
dw 0x0aa55

stimmt er überhaupt?
PS: Ihr müsst sagen, falls ich hier zu viel codeposting mache
Titel: warum funzt der code nicht?
Beitrag von: joachim_neu am 06. April 2005, 20:56
du musst genauer beschreiben, was passiert. nur "geht nicht" bringt uns nix.
Titel: warum funzt der code nicht?
Beitrag von: Homix am 06. April 2005, 20:57
hi,
was funzt nicht ?
macht er einen restart oder zeigt er einfach keinen Text an ?
wenns ein restart ist, kann es daran liegen, dass bei code_end dahinter nur 0en und andere Sachen sind, die die CPU ausführt und dabei sicherlich ein ungültiger Befehl ist.
am besten ein "jmp $" nach code_end: machen !

cu,
stefan2005
Titel: warum funzt der code nicht?
Beitrag von: urx_ am 06. April 2005, 20:57
du darfst nur einmal mov si, msg machen, nicht jedes mal in der schleife
Titel: warum funzt der code nicht?
Beitrag von: zacK am 06. April 2005, 22:10
ds nicht initialisiert, org 0x7c00 fehlt
Titel: warum funzt der code nicht?
Beitrag von: jeb am 07. April 2005, 17:23
vielen dank:)