25/02/10 22:17
Exor
salve
sto cercando di capire come mai non funziona la lettura da floppy.
Ho fatto un bootloader, e voglio cercare di leggere il bootloader per creare un loop.
siccome il bootloader si trova nel primo settore, io cerco di leggere così
dopo questo codice faccio un jc per saltare alla parte della lettura riuscita
il messaggio di riuscita della lettura appare, però quando dovrebbe saltare all'indirizzo 0x200, non succede niente... ho provato anche a sostituire 0x200 nel jmp con 0x7c00:0x200 tanto per essere sicuro che non fosse un problema d'indirizzo, ma non funziona lo stesso.
potreste aiutarmi a capire cosa non va ?
grazie mille
sto cercando di capire come mai non funziona la lettura da floppy.
Ho fatto un bootloader, e voglio cercare di leggere il bootloader per creare un loop.
siccome il bootloader si trova nel primo settore, io cerco di leggere così
mov ax, 0x7c00 mov es, ax mov ch, 0 ; track mov cl, 0 ; sector mov dh, 0 ; head mov dl, 0 ; drive mov ah, 0x02 mov al, 0x1 ;settori da leggere mov bx, 0x200 int 0x13
dopo questo codice faccio un jc per saltare alla parte della lettura riuscita
jc ReadSectors.Error jmp ReadSectors.Done ReadSectors.Error: mov si, loadsectors.rootdirerr call PrintStr ret ReadSectors.Done: mov si, loadsectors.rootdirsuccess call PrintStr jmp 0x200 ret
il messaggio di riuscita della lettura appare, però quando dovrebbe saltare all'indirizzo 0x200, non succede niente... ho provato anche a sostituire 0x200 nel jmp con 0x7c00:0x200 tanto per essere sicuro che non fosse un problema d'indirizzo, ma non funziona lo stesso.
potreste aiutarmi a capire cosa non va ?
grazie mille
aaa