N
Hi.
Jo, da stimmt was net...
.MODEL small
.Stack 100h
.Data
msgHello DB "loading....... $"
Filename DB "Test.txt",0
Text1 DB "Hallo!"
Laenge EQU −Text1ZielpufferDBLaengeDUP(?),"-Text1
Zielpuffer DB Laenge DUP (?),"−Text1ZielpufferDBLaengeDUP(?),""
.CODE
Start:
mov ax,@data
mov ds,ax
mov dx,offset msgHello ;
mov ah,9 ; Ausgabe eines String
int 21h
;mov ah,3Dh
;xor al,00h <-was sollte das denn deiner Meinung nach bewirken?
;Dann doch besser:
mov ax,3D02h ;ah=3D al=02 (read/write access)
mov dx,OFFSET Filename
int 21h ;Datei öffnen
;xor ax,"2" ;eigentlich ne Feststellung ob sie geöffnet wurde oder nicht
;jmp Marke ; wenn ja soll gesprungen werden
;KA, was das bewirken sollte...:???:
;wenn ein Fehler beim Oeffnen der Datei auftritt, wird das CF gesetzt.
jnc Marke ;Wenn CF nicht gesetzt, ist die Datei offen.
mov ah,3Ch
xor cx,cx
mov dx,OFFSET Filename
int 21h ;Datei Erstellen
;Hier wird ein Fehler auch uebers CF angezeigt.
Marke:
mov bx,ax ;Handle nach BX
;Schleife:
mov ah,40h
mov cx,Laenge
mov dx,OFFSET Text1
int 21h ;Daten schreiben
;Loop Schleife <=Diese Schleife ist leicht ueberfluessig...
;um genau zu sein, endet das ganze in einer Endlosschleife, die solange
;fortgesetzt wird, bis die Datei >2GB wird.
mov ah,3Eh
int 21h ;Datei schließen
mov ah,4Ch
int 21h ;Programm beenden!
END Start