Create Directory



  • Hy,

    Ich bastle wie so viele mit einem eigenen OS.

    nun möchte ich versuchen einen Ordner aus meiner Diskette zu erstellen.
    Ich habe viel gesucht und nur wenig gefunden.
    Aber bei allem was ich gefunden habe taucht immer die Funktion '39h' auf um einen Ordner zu erstellen.

    Daraus habe ich folgenden code erstellt:

    MKDIR.asm:

    MOV AX, CS
            MOV DS, AX
            MOV ES, AX
    
    begin:
    
        MOV DI, DIRNAME
        MOV AH, 16              ; Ermittle die Command Zeile
        MOV ax,DIRNAME
        JNC MAKEDIR
        call error
    
    ret
    
    error:
        MOV SI, AUFFORDERUNG
        MOV AH, 1
        INT 21h 
        MOV SI, MITTEILUNG
        MOV AH, 1
        INT 21h 
        call ENDE
    ret
    
    MAKEDIR:
            MOV AH, 39H
        MOV DX, DIRNAME
        INT 21H
        JNC ALLES_OK
    
        MOV SI, MISSERFOLG
        MOV AH, 1
        INT 21h 
        JMP ENDE
    ret
    
    ALLES_OK:
        MOV SI, DIRNAME
        MOV AH, 1
        INT 21h 
        MOV SI, ERFOLG
        MOV AH, 1
        INT 21h 
        call ENDE
    ret
    ENDE:   
        pop  es
        pop  ds
        pop  bp
        MOV AH, 0
        INT 21h
    ret 
    
    %include "source\language\de_mkdir.asm"
    

    de_mkdir.asm:

    AUFFORDERUNG DB "Bitte den Namen des Verzeichnisses eingeben!",10,13,0
    ERFOLG DB 'Das Verzeichnis wurde erstellt !',10,13,0
    MISSERFOLG DB 'Das Verzeichnis konnte nicht erstellt werden !',10,13,0
    MITTEILUNG DB 'Start mit mkdir [Verzeichnissname].',10,13,0
    DIRNAME times 8 db 0
    

    Was mache ich Falsch?????????? 😞

    PS:
    Das dateisystem ist auf FAT 12.

    Danke

    ReneS



  • Wenn du ein eigenes OS bastelst, musst du dir den Code dafür schon komplett selber schreiben. Meines Wisens nach hat noch kein BIOS FAT-Unterstützung und die INT21h ist auch nur eine DOS-Funktion die du unter nem eigenen OS natürlich nicht hast.



  • Wie kann ich dann eine DOS unterstützung einbauen oder wie kann ich Informationen bekommen die über den Bootsector und Pmoder etc. hinausgehen?
    Alles was ich finde bezieht sich auf die Anfänge einer Programmierung für ein OS, aber nicht weiter.

    MFG

    ReneS



  • In den FAQ unter "OSDev Links" gibt es diesen schoenen Link hier: http://www.nondot.org/sabre/os/articles

    In der Sektion File Systems gibt es einige Schoene Artikel zu FAT (Das Dateisystem von Windows 9x und DOS).
    Der brauchbarste ist IMHO der von Microsoft.
    Ist zwar zugegeben nicht ganz einfach, aber mit dieser Dokumentation und so einem schoenen Anschauungsobjekt wie DOS sollten sich die "Geheimnisse" des FAT schon in Erfahrung bringen lassen. 🙂



  • Vielen Dank!


Anmelden zum Antworten