Grundsätzlich muss ich ein Labyrinth erstellen und es in einer Textdatei speichern, damit ich es später öffnen kann, habe ich bereits das Erstellen des Labyrinths Teil, aber ich für das Leben von mir kann es nicht erhalten zu speichern alles, was auf dem Bildschirm zu einer Textdatei (auch die Leerzeichen) ist Ich weiß, dass ich Int 21h verwenden kann, um Dinge in eine Datei zu schreiben Ich weiß einfach nicht, wie man alles in diese Textdatei schreibt (die ganzen 80 Zeilen und 25 Spalten) in der Reihenfolge werden auf dem Dosbox-Bildschirm angezeigt.Schreiben des Textmodusbildschirms in eine Textdatei. (MASM)
mov ah,3CH ; File creation
mov cx,0 ;
mov dx, OFFSET filename
int 21h
mov handle, ax
mov ax,0b800h
mov es,ax
ciclo2:
mov ah, es:[bx]
mov al, es:[bx+1]
mov var1, ax
mov ah,40h
mov cx,2
mov dx,var1
mov bx,handle
int 21h
inc bx
inc bx
cmp bx, 4000
jne ciclo2
fim:
mov ah,3Eh ; Closing the file
mov bx,handle
int 21h
mov ah,4CH ; Closing the program
INT 21H
Ich benutze MASM und DOSBOX.
Was ist das Problem oder was ist das falsche Ergebnis, das Sie bekommen? –
Es sollte schreiben, was auf dem Bildschirm zu einer TXT-Datei ist, aber es wird nichts gedruckt. –
Ich habe 4 Fehler in Ihrem Code gefunden, überprüfen Sie die Antwort unten (wenn es sinnvoll ist, vergessen Sie nicht, auf das ✔ Häkchen der Antwort zu klicken). –