XAN
  Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Кстати, читая себя саму в память эта программа перетрёт значение Handle изначальным, так что толку от этой переменной никакого.   Чтобы этого избежать я полагаю надо метку    finish equ $   так чтобы исключить перезапись переменной Handle   Например, в блоке данных   ................   message_ok db 'Все нормально!',0Ah,0Dh,'$'   finish equ $   Handle dw 0FFFFh    ...................         Я переписал эту программу вот на такую...    Код:    cseg segment   assume cs:cseg,ds:cseg,es:cseg,ss:cseg   org 100h   start:   mov dx,offset file_name   mov ax,3D00h   int 21h   jc error_file      mov bx,ax   mov ah,3Fh   mov cx,offset finish-100h   mov dx,offset start   int 21h      mov dx,offset readf   mov ah,9   int 21h      mov ah,3Eh   int 21h      mov dx,offset closef    mov ah,9   int 21h      mov dx,offset message_ok   mov ah,9   int 21h   jmp end_      error_file:   mov dx,offset error   mov ah,9   int 21h   end_:   ret      ;ДАННЫЕ   file_name db 'l.com',0   error db 'Error open file',0Ah,0Dh,'$'   readf db 'File read',0Ah,0Dh,'$'   closef db 'File closed',0Ah,0Dh,'$'   message_ok db 'Все нормально!',0Ah,0Dh,'$'   finish equ $   cseg ends   end start     |       |