INT 13h Diskettenlaufwerk benutzen



  • Hallo, wenn ich folgenden Code ausführe(Realmode), tut sich an meinem Diskettenlaufwerk garnix,es blinkt noch nichtmal das Lämpchen:

    shell_format:
    printf msg_format
    mov ah, 0 ; Erstes Diskettenlaufwerk
    mov dl, 0 ; Laufwerk zurücksetzen
    int 13h ; int
    
    jc shell_format ; fehler? nochmal
    diskformat:
    mov cx, 1 ; Cylinder=0 Sektor=0
    mov dx, 0 ; erstes diskettenlaufwerk, Head=0
    mov ax, ds
    mov es, ax ; segment
    mov bx, format_start ; offset
    mov ah, 3 ; sektoren schreiben
    mov al, 1 ; 19 stück
    int 13h ; int
    

    Könnt ihr mir sagen wo das Problem ist? Der String msg_format wird angezeigt, also geht er schonmal bis dahin.



  • In welcher Umgebung wird der Code ausgefuehrt (also in Windows, von DOS aus, eigenes OS, 100% sicher RealMode)?
    Gibt der Schreibversuch einen Fehler zurueck?



  • Also der Code wird 100% im Realmode ausgeführt, ich versuche das in QEMU zu emulieren, habe das auch schonmal in einem PC mit Floppy Laufwerk ausprobiert. Der Schreibversuch gibt keinen Fehler zurück.



  • Hi, ich habe es jetzt zum 100 mal ausprobiert und auf einmal funktioniert es. 😃


Anmelden zum Antworten