Истории о вирусах

DOS, функция 29h Разобрать имя файла


Вход:

AH=29h

DS:SI - адрес исходной текстовой строки для разбора

ES:DI - адрес буфера для результирующего неоткрытого FCB

(Таблица Б-2)

AL - битовые флаги, указывающие опции разбора (Таблица Б-5).

Выход:

AL=OOh, если результирующий FCB не содержит обобщенных символов

AL=01h, если результирующий FCB содержит обобщенные символы

AL°FFh, если неверно обозначение диска в имени файла

DS:SI - изменен - указывает на символ сразу вслед за именем файла

ES:DI - не изменен - указывает на неоткрытый FCB



Описание.

Создает неоткрытый FCB из строки текста или параметра команды.

Текст, начиная с DS:SI, анализируется как имя файла в формате

D.-FILENAME.EXT, и буфер по адресу ES:DI заполняется как соответ-

ственно форматированный FCB.

Таблица Б-5. Битовые флаги.

Бит Описание
0 Пропустить разделители

1 Использовать присутствующий номер диска, если диск не указан,

вместо того, чтобы устанавливать это поле в ноль ;

2 Использовать в FCB имя присутствующего файла, если базовое имя

не указано, вместо того, чтобы заполнять это поле стандартным •

заполнителем ,

3 Использовать в FCB расширение присутствующего файла, если

расширение не указано, вместо того, чтобы заполнять это поле

стандартным заполнителем

4 Зарезервировано



Содержание раздела