Системное программное обеспечение. Рощин А.В. - 52 стр.

UptoLike

Составители: 

52
AL = 0 открыть для чтения
AL = 1 открыть для записи
AL = 2 открыть для чтения и записи
указатель чтения/записи устанавливается в 0. См. 42h (LSEEK)
вы должны сохранить дескриптор (handle) для последующих операций
если запрашивается открытие в одном из режимов разделения, должно
быть активно разделение файлов (команда DOS SHARE).
CONFIG.SYS определяет число доступных дескрипторов файлов.
Функция 3eh:
Закрыть дескриптор файла
Вход AH = 3eh
BX = дескриптор файла
Выход AX = код ошибки, если CF установлен
Описание
: BX содержит дескриптор файла (handle), возвращенный при
открытии. Файл, представленный этим дескриптором, закрывается, его
буферы сбрасываются, и запись в каталоге обновляется корректными
размером, временем и датой. Из-за нехватки дескрипторов файлов
(максимум 20, по умолчанию 8), вам может понадобиться закрыть часть
стандартных дескрипторов, например, дескриптор 3 (стандартный AUX).
Функция 3fh: Читать файл через дескриптор
Вход AH = 3fh
BX = дескриптор
файла
DS:DX = адрес буфера для чтения данных
CX = число считываемых байтов
Выход AX = код ошибки, если CF установлен
AX = число действительно прочитанных байтов
Описание
: CX байтов данных считываются из файла или устройства с
дескриптором, указанным в BX. Данные читаются с текущей позиции
указателя чтения/записи файла и помещаются в буфер вызывающей
программы, адресуемый через DS:DX. Используйте функцию 42h LSEEK,
чтобы установить указатель файла, если необходимо (OPEN сбрасывает
указатель в 0). Модифицирует указатель чтения/записи файла,
подготавливая его к последующим операциям чтения
или записи. Вы
должны всегда сравнивать возвращаемое значение AX (число прочитанных
байтов) с CX (запрошенное число байтов):
если AX = CX, (и CF сброшен) – чтение было корректным без ошибок
если AX = 0, достигнут конец файла (EOF)
если AX < CX (но ненулевой):
при чтении с устройствавходная строка имеет длину AX байт
при чтении из файлав процессе чтения
достигнут EOF
Замечания
: Эта функция превосходит сложные и неудобные FCB-функции.
Она эффективно сочетает произвольный и последовательный доступ,
                                  52



       AL = 0 открыть для чтения
       AL = 1 открыть для записи
       AL = 2 открыть для чтения и записи
•   указатель чтения/записи устанавливается в 0. См. 42h (LSEEK)
•   вы должны сохранить дескриптор (handle) для последующих операций
•   если запрашивается открытие в одном из режимов разделения, должно
    быть активно разделение файлов (команда DOS SHARE).
•   CONFIG.SYS определяет число доступных дескрипторов файлов.
Функция 3eh: Закрыть дескриптор файла
Вход AH = 3eh
     BX = дескриптор файла
Выход AX = код ошибки, если CF установлен
Описание: BX содержит дескриптор файла (handle), возвращенный при
открытии. Файл, представленный этим дескриптором, закрывается, его
буферы сбрасываются, и запись в каталоге обновляется корректными
размером, временем и датой. Из-за нехватки дескрипторов файлов
(максимум 20, по умолчанию 8), вам может понадобиться закрыть часть
стандартных дескрипторов, например, дескриптор 3 (стандартный AUX).
Функция 3fh: Читать файл через дескриптор
Вход AH = 3fh
      BX = дескриптор файла
      DS:DX = адрес буфера для чтения данных
      CX = число считываемых байтов
Выход      AX = код ошибки, если CF установлен
           AX = число действительно прочитанных байтов
Описание: CX байтов данных считываются из файла или устройства с
дескриптором, указанным в BX. Данные читаются с текущей позиции
указателя чтения/записи файла и помещаются в буфер вызывающей
программы, адресуемый через DS:DX. Используйте функцию 42h LSEEK,
чтобы установить указатель файла, если необходимо (OPEN сбрасывает
указатель в 0). Модифицирует указатель чтения/записи файла,
подготавливая его к последующим операциям чтения или записи. Вы
должны всегда сравнивать возвращаемое значение AX (число прочитанных
байтов) с CX (запрошенное число байтов):
• если AX = CX, (и CF сброшен) – чтение было корректным без ошибок
• если AX = 0, достигнут конец файла (EOF)
• если AX < CX (но ненулевой):
• при чтении с устройства – входная строка имеет длину AX байт
• при чтении из файла – в процессе чтения достигнут EOF
Замечания: Эта функция превосходит сложные и неудобные FCB-функции.
Она эффективно сочетает произвольный и последовательный доступ,