ВУЗ:
Составители:
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-функции.
Она эффективно сочетает произвольный и последовательный доступ,
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »
