;открытие, чтение и вывод файла на экран
CSEG segment ;в com-файлах существует только один сегмент
assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG
org 100h
Start:
;mov ax,0003h
;int 10h
mov dx,offset File_name
call Open_file
jc Error_file
mov bx,ax ;сохраняем id файла
mov ah,3Fh
mov cx,offset Finish-100h ;сколько байтов будем читать
mov dx,offset Start ;читаем файл в память...
int 21h ;...с метки Start
call Close_file ;вызываем процедуру закрытия и...
mov ah,9
mov dx,offset Mess_ok ;...сообщаем об этом
int 21h
ret
Error_file: ;сигнал, если файл не нашли
mov ah,2
mov dl,7
int 21h
ret
Open_file proc
cmp Handle,0FFFFh ;открыт-ли файл...
jne Quit_open ;...если нет-открываем
mov ax,3D00h
int 21h
mov Handle,ax
ret
Quit_open:
stc ;установка флага переноса в 1 (3Dh)
ret ;подтверждение факта открытия-для jc
Handle dw 0FFFFh
Open_file endp
Close_file proc
mov ah,3Eh
mov bx,Handle
int 21h
ret
Close_file endp
File_name db '07.asm', 0
Mess_ok db 'Все нормально!', 0Ah, 0Dh, '$'
Finish equ $ ;адрес конца программы
CSEG ends
end Start
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.