AL=02h, если произошел выход за сегмент (записи не было)
Описание.
Функция записывает файл, специфицированный в FCB. Затем соответственно увеличивает значения полей в FCB.
Перед началом последовательной обработки файла нужно сбрасывать «Номер текщей записи» в ноль, так как функция 0Fh не инициализирует это поле.
Примечание.
DOS буферизует данные, записывая полный сектор за один раз.
DOS, функция 16h Создание файла через FCB Вход:
AH=16h
DS:DX – адрес неоткрытого FCB (Таблица Б-2)
Выход:
AL=00h, если функция выполнена успешно FCB заполнен
AL=FFh, если при выполнении функции возникли ошибки
Описание. Файл, специфицированный неоткрытым FCB, создается на диске, указанном в FCB (0 – текущий, 1 – A и так далее). Он открывается в текущем оглавлении этого диска. FCB заполняется аналогично функции 0Fh. Если файл существует в момент вызова, его элемент оглавления перекрывается новым файлом, а длина файла сбрасывается в ноль.
Примечание.
Handle-ориентированные функции DOS 2.0+ гораздо удобнее в работе.
DOS, функция 17h Переименовать файл через FCB Вход:
AH=17h
DS:DX – адрес измененного FCB (Таблица Б-2)
Выход:
AL=00h, если функция выполнена успешно
AL=FFh, если при выполнении функции возникли ошибки
Описание.
Переименовывает файл в текущем оглавлении.
DOS, функция 19h Получить текущий диск DOS Вход:
AH=19h
Выход: AL – номер текущего диска (0 – A, 1 – B, и так далее)
Описание.
Возвращает номер дисковода текущего диска DOS.
DOS, функция 1Ah Установить адрес DTA Вход:
AH=1Ah
DS:DX – адрес DTA
Описание.
Устанавливает адрес DTA. Все FCB-ориентированные операции работают с DTA. DOS не позволяет операциям ввода/вывода пересекать границу сегмента. Функции поиска 11h, 12h, 4Eh и 4Fh помещают данные в DTA. DTA глобальна, поэтому надо проявлять осторожность при назначении ее в рекурсивной процедуре. При запуске программы ее DTA устанавливается по смещению 80h относительно PSP.
DOS, функция 1Bh Получить информацию FAT для текущего диска Вход:
AH=1Bh
Выход:
DS:BX – адрес байта FAT ID, отражающего тип диска (Таблица Б-3)
DX – всего кластеров (единиц распределения) на диске
AL – секторов на кластер
CX – байт на сектор
Таблица Б-3. Значения ID
Описание.
Возвращает информацию о размере и типе текущего диска. Размер диска (в байтах) равен DX*AL*CX. Свободную память можно найти функциями 36h или 32h.
Версии: DOS 1.x держит FAT в памяти и возвращает DS:BX => FAT. DOS 2.0+ может держать в памяти лишь часть всей FAT.
Примечание.
Эта функция изменяет содержимое регистра DS.
DOS, функция 1Ch Получить информацию FAT для указанного диска