;
;       Пробная программа распечатки текстового файла
;
;
;------- Чтение с клавиатуры ----
;
        lea    dx,Ask
        mov    ah,09
        int    21h
        mov    bx,1
        lea    dx,FileName
        mov    cx,80
        mov    ah,3Fh
        int    21h
        lea    di,FileName
        mov    cx,80
        cld
        mov    al,13
        repnz  scasb
;        sub    di,1
        mov    byte ptr es:[di],00
        mov    byte ptr es:[di-1],00
;
;------- ОТКРЫВАЕМ ФАЙЛ --------
;
        lea   dx,FileName
        mov   ah,3Dh
        mov   al,0
        int   21h
        jc    @Err1
;------- ЧИТАЕМ 100 БАЙТОВ -------
        mov   Handle,ax
@Read:  mov   bx,Handle
        lea   dx,FileName
        mov   ah,3Fh
        mov   cx,100
        int   21h
        jc    @Err2
;------- ВЫВОДИМ НА ЭКРАН -------
        mov   cx,ax
        mov   bx,1
        lea   dx,FileName
        mov   ah,40h
        int   21h
        cmp   cx,100
        jne   @Close
        jmp   short @Read
;
@Close: mov   ah,3Eh
        mov   bx,Handle
        int   21h
@Exit:
        int   20h
@Err1:  mov   ah,09
        lea   dx,Msg1
        int   21h
        jmp   short @Exit
@Err2:  mov   ah,09
        lea   dx,Msg2
        int   21h
        jmp   short @Exit
;
Handle   dw 00
Msg1     db "Ошибка при открытии",10,13,"$"
Msg2     db "Ошибка при чтении",10,13,"$"
Ask      db "Задайте имя файла: ",10,13,"$"
FileName db 128 dup 00
         end