;///////////////////////////////////////////////////////////////; ; Erstellt eine Datei Test mit dem Inhalt "Wie toll ist ; ; Assemblerprogrammierung auf einer Diskette und manipuliert ; ; das Änderungsdatum auf den 31.1.1999 12:12:12 Uhr ; ;///////////////////////////////////////////////////////////////; include Makros.asm assume cs:code, ds:data, ss:stapel data segment filename db 'A:\Test.tst', 0 handle dw ? lesebuf db 1024 DUP (?) schreibbuf db 'Wie toll ist Assemblerprogrammierung!' laenge equ $-schreibbuf CR equ 13 LF equ 10 createfehler db 'Fehler in f_create', CR,LF, '$' openfehler db 'Fehler in f_open', CR,LF, '$' closefehler db 'Fehler in f_close', CR,LF, '$' writefehler db 'Fehler in f_write', CR,LF, '$' readfehler db 'Fehler in f_read', CR,LF, '$' datetimefehler db 'Fehler in f_set_date_and_time', CR,LF, '$' data ends stapel segment stack 'stack' db 100h dup(?) locals stapel ends code segment Start: mov ax, data mov ds, ax mov dx, offset filename call f_create mov handle, ax mov dx, offset schreibbuf call f_write call f_close mov dx, offset filename call f_open mov handle, ax mov dx, offset lesebuf call f_read Display_String lesebuf call f_set_date_and_time call f_close terminate_program f_create proc mov ah, 3Ch xor cx, cx int 21h jc @@fehler ret @@fehler: Display_String createfehler ret f_create endp f_open proc mov ah, 3Dh mov al, 0h int 21h jc @@fehler ret @@fehler: Display_String openfehler ret f_open endp f_close proc mov ah, 3Eh mov bx, handle int 21h jc @@fehler ret @@fehler: Display_String closefehler ret f_close endp f_write proc mov ah, 40h mov bx, handle mov cx, laenge int 21h jc @@fehler ret @@fehler: Display_String writefehler ret f_write endp f_read proc mov ah, 3Fh mov bx, handle mov cx, laenge int 21h jc @@fehler mov lesebuf + laenge, 24h ret @@fehler: Display_String readfehler ret f_read endp f_set_date_and_time proc mov ah, 57h mov al, 01h mov bx, handle mov cx, 110000110000110b mov dx, 010011110011111b int 21h jc @@fehler ret @@fehler: Display_String datetimefehler ret f_set_date_and_time endp code ends end Start