5.4.5. Фн 3Fh - Чтение файла

      Вход: AH = 3Fh

            BX = номер файла

            DS:DX = адрес буфера

            CX = число считываемых байтов

 

      Выход: AX = код ошибки (5 или 6), если флаг CF установлен

             количество фактически считанных байтов, если CF = 0

 

      Описание: Считывает  CX байтов из файла  или с устройства с

 номером BX. Данные считываются, начиная с текущей позиции файла,

 и заносятся  в буфер  по адресу  DS:DX. Файл  позиционируется на

 первый нeсчитанный байт.

 

      Проверка результатов чтения состоит из двух этапов:

 

      - если бит CF=1, то произошла ошибка;

      - если бит CF=0, то Вы должны сравнить AX и CX:

        - AX=CX, если чтение прошло успешно;

        - AX=0, если достигнут конец файла;

        - 0 < AX < CX  означает, что

          при вводе из файла: после чтения AX байтов достигнут

          конец файла;

          при вводе с устройства: введенная строка содержит AX

          символов.

 

      Примечания:

 

      1. Эта функция намного удобнее,  чем функции чтения по FCB.

 Она   сочетает  последовательный   и  прямой   доступ,  позволяя

 пользователю осуществлять свою собственную блокировку записей.

 

      2.   Эта   функция   хорошо   приспособлена   для  ввода  с

 предопределенных устройств (вместо функций символьного ввода).

 

      3.  При чтении  с  устройства  ввод завершается  либо после

 ввода  CX байтов,  либо по   вводу символа  ВК (ASCII  код 0Dh);

 символ ВК включается в буфер и учитывается в AX.

 

      4.  При вводе  с клавиатуры  последние два  байта введенной

 строки  равны ВК  и ПС   (коды 0Dh  и 0Ah)  соответственно, если

 позволяет размер буфера. Оба байта учитываются в AX.

 

      5. В ЛВС требует полномочие на чтение файлов.

 

      См. также: Фн 42h

                 Традиционный ввод-вывод

Вы находитесь в разделе: 
Также вам будет интересно:

Добавить коментарий