Итак, открывать файл мы умеем, пора научиться из него читать.
AH 3fH BX дескриптор файла CX число байтов для считывания DS:DX адрес буфера для получения данных Возврат AX Код ошибки если CF установлен к CY Если ошибок не было то в AX будет количество прочитанных байт
Все пора пробовать, развиваем прошлый шаг.
MODEL SMALL STACK 256 DATASEG FileName DB 'C:/TASM50/44/data.dat',0h OkStr DB 'OK','$' ErrorStr DB 'Error','$' Buffer DB 14h DUP(0) ; буфер на 20 символов CODESEG Start: mov ax,@data ; установка в ds адреса mov ds,ax ; сегмента данных mov dx, OFFSET FileName ; имя файла CALL OpenFileRead jc Error ; проверить флаг на ошибку mov bx,ax ; дескриптор файла в ВХ mov ah,3fh ; функция чтения файла mov cx,14h ; сколько читать mov dx,OFFSET Buffer ; буфер int 21h ; выполнить jc Error ; проверить флаг на ошибку Call CloseFile mov dx,OFFSET OkStr jmp Write Error: mov dx,OFFSET ErrorStr Write: Call WriteStr Exit: CALL ExitProgramm INCLUDE function.asm End Start
Особенного я нечего не сделал кроме разве того, что дал абсолютный путь, это для отладчика, да выход из программы вынес в отдельную функцию. А вот теперь нам в отладчик что бы посмотреть что считывание произошло.
Все нормально, кстати, Вы можете подняться вверх в этом окне и посмотреть данные которые были в программе.
Это важно, что данные все вместе, при изучении чужой программы очень может помочь.