Инструменты пользователя

Инструменты сайта


msx:floppy_disk_filesystem_structure:400

Первая страницаПредыдущая страницаНазад к обзоруСледующая страницаПоследняя страница

Приложение IV. Некоторые входные точки системы BDOS, необходимые для работы с диском

8-) MSX BDOS

Форма описания:

Адрес функции Имя функции

Функция
Выполняемая функция

ВходВходные параметры
ВыходВозвращаемые значения

Примечание.
Пример вызова из:

α) MSX-DOS

LD   C,∗∗h
CALL 0005h

β) MSX Disk BASIC

LD   C,∗∗h
CALL F37Dh

где ∗∗ — адрес функции.

0E SELECT DISK

Устанавливает имя дисковода по умолчанию (0 соответствует устройству А:).

ВходРегистр Е содержит номер драйвера диска.
Выход

0F OPEN FILE

Открывает файл, определяемый Блоком Управления Файлом («File Control Block» — FCB), начальный адрес которого со держится в регистровой паре DE.

После выполнения будут установлены: поле размера записи, поле текущего блока, поле текущей записи и поле записи прямого доступа.

Поле размера файла, поля даты и времени создания, поле идентификатора устройства (ID), поле расположения каталога, поле первого кластера, поле последнего кластера и поле последнего доступного кластера копируются из каталога.

Если функция выполнилась,
то она возвращает 0,
иначе она возвращает FFh.

ВходDE: указывает на первый байт FCB
ВыходA: 0, если файл открылся;
FFh, в противном случае.

10 CLOSE FILE

Закрывает файл, определяемый FCB(«File Control Block»), начальный адрес которого содержится в регистре DE.

Если функция выполнилась,
то она возвращает 0;
иначе она возвращает FFh.

ВходDE: указывает на первый байт FCB
ВыходA: 0, если файл открылся;
FFh, в противном случае.

13 DELETE FILE

Уничтожает файл, определяемый Блоком Управления Файлом FCB («File Control Block»),начальный адрес которого содержится в регистровой паре DE. Если функция выполнилась,
то она возвращает 0;
иначе она возвращает FFh.

ВходDE: указывает на первый байт FCB
ВыходA: 0, если файл был удален;
FFh, если файл не был удален.

Примечание. В имени файла возможны специальные символы (* и ?).

16 CREATE FILE

Открывает файл, определяемый Блоком Управления Файлом FCB («File Control Block»), начальный адрес которого содержится в регистровой паре DE. Если данный файл уже существует, то он уничтожается. После выполнения этой функции устанавливаются: поле размера записи, поле текущей записи, поле текущего блока и поле записи произвольного доступа. Если функция выполнилась,
то она возвращает 0;
иначе она возвращает FFh.

ВходDE: указывает на первый байт FCB
ВыходA: 0, если файл открылся;
FFh, если файл не открылся.

17 RENAME FILE

Меняет имя файла, определяемого Блоком Управления Файлом FSB («File Control Block»), начальный адрес которого содержится в регистровой паре DE, на имя файла,определяемое FCB, начальный адрес которого содержится по адресу(DE+16).

Если функция выполнилась,
то она возвращает 0 ;
иначе она возвращает FFh. Примечание. В имени файла возможны специальные символы (* и ?).

ВходDE: указывает на первый байт FCB «старого» файла
(DE+16): указывает на первый байт FCB «нового» файла
ВыходA: 0, если файл переименовался;
FFh, если файл не переименовывался.

1А SET DMA ADDRESS

Устанавливает адрес передачи.

ВходDE: устанавливаемый (новый) адрес передачи
Выход

26 RANDOM BLOCK WRITE

Посылает запись (записи) в файл, определяемый Блоком Управления Файлом (File Control Block — FCB), начальный адрес которого содержится в регистровой паре DE. Запись переносится, начиная с адреса передачи. Запись определяется полем блока произвольного доступа.Поле записи прямого доступа автоматически увеличивается при успешном исходе операции. Размер записи определяется полем размера записи.

Количество записей определяет содержимое регистровой пары HL.

Если функция выполнилась, то она возвращает 0; иначе — 1.

ВходDE: указывает на первый байт FCB
HL: указывает количество последовательных записей
ВыходA: 0, если запись осуществилась;
1, в противном случае

27 RANDOM BLOCK READ

Читает запись (записи) из файла, определяемого Блоком Управления Файлом (File Control Block — FCB), начальный адрес которого содержится в регистровой паре DE. Запись переносится, по адресу передачи. Запись определяется полем блока произвольного доступа. Поле записи прямого доступа автоматически увеличивается при успешном исходе операции.

Размер записи определяется полем размера записи.

Количество записей определяет содержимое регистровой пары HL. Количество прочитанных записей после завершения операции заносится в регистровую пару HL.

Если функция выполнилась,
то она возвращает 0;
иначе она возвращает 1.

ВходDE: указывает на первый байт FCB
HL: указывает количество последовательных записей
ВыходA: 0, если запись осуществилась;
1, в противном случае
HL: указывает количество прочитанных записей

2F ABSOLUTE DISK READ

Чтение Н секторов, начиная с сектора с логическим номером, содержащимся в регистровой паре DE, с драйвера, определяемого содержимым регистра L. Данные записываются в память, начиная с адреса передачи.

ВходDЕ: логический номер сектора
Н: количество секторов для чтения
L: спецификация драйвера
Выход

30 ABSOLUTE DISK WRITE

Запись Н секторов, начиная с сектора с логическим номером, содержащимся в регистровой паре DE, с драйвера, определяемого содержимым регистра L. Данные переписываются из памяти, начиная с адреса передачи.

ВходDЕ: логический номер сектора
Н: количество секторов для чтения
L: спецификация драйвера
Выход

Первая страницаПредыдущая страницаНазад к обзоруСледующая страницаПоследняя страница

msx/floppy_disk_filesystem_structure/400.txt · Последние изменения: 2023-06-04 20:42 — GreyWolf