dosseg .model small .stack 100h .data emes db "Error X!!", 13, 10, 36 fina db "data.txt", 0 hand dw 0 buff db 32000 dup(45) .code mov ax, @data mov ds, ax mov es, ax ;------------------------- mov ax, 3d02h ; sluzba "Otevrit soubor" cteni+zapis lea dx, fina ; adresa fina do dx int 21h ; zavolani sluzby mov emes+6, 31h ; Upravime cislo chyby v hlasce ja erro ; Doslo k chybe? mov hand, ax ; Kdyz ne tak ulozime deskriptor soub. ;------------------------- mov ax, 3400h ; sluzba zjisteni vlajek DOSu mov bx, hand ; pro nas soubor lea dx, buff ; a tenhle buffer int 21h ; zavolame sluzbu mov emes+6, 32h ; Upravime cislo chyby v hlasce jc erro ; Doslo k chybe? ;------------------------- mov ax, 4200h ; Posunem se od zacatku mov bx, hand ; v nasem souboru xor cx, cx ; o nic * 64K xor dx, dx ; + o nic int 21h ; zavolame sluzbu mov emes+6, 33h ; Upravime cislo chyby v hlasce jc erro ; Doslo k chybe? ;------------------------- mov ax, 4000h ; Zapisem mov bx, hand ; do naseho souboru mov cx, 3200h ; 512 bytu lea dx, buff ; z bufferu int 21h ; zavolame sluzbu mov emes+6, 34h ; Upravime cislo chyby v hlasce jc erro ; Doslo k chybe? ;------------------------- mov ax, 3E00h ; Zavrem mov bx, hand ; nas soubor int 21h ; zavolame sluzbu mov emes+6, 35h ; upravime cislo cyby v hlasce jc erro ; Doslo k chybe? ;------------------------- fini: mov ax, 4C00h ; Konec int 21h ; zavolame sluzbu erro: mov ax, 9000h ; Vypis na obrazovku lea dx, emes ; nsi chybove hlasky int 21h ; zavolame sluzbu jmp fini ; -> konec end