MS-DOS для программиста


           

Текущий диск и текущий каталог


В любой момент времени программа может определить текущий диск или текущий каталог, а также сменить текущий диск или текущий каталог. Для этого она должна использовать специальные функции прерывания INT21h .

Для того чтобы узнать номер текущего диска, программа может воспользоваться функцией 19h:

На входе: AH 19h
На выходе: AL Номер текущего устройства НГМД или НМД (0 - А:, 1 - В:, и т. д.).

Для установки текущего диска можно использовать функцию 0Eh, которая имеет следующие параметры вызова:

На входе: AH 0Eh
DL Номер устройства НГМД или НМД (0 - А:, 1 - В:, и т. д.)
На выходе: AL Общее количество дисковых устройств в системе. Эта величина соответствует параметру LASTDRIVE из файла CONFIG.SYS

Для того чтобы узнать текущий каталог, вы можете воспользоваться функцией 47h:

На входе: AH 47h
DL Номер устройства НГМД или НМД (0 - текущий, 1 - А:, 2 - В:, и т. д.)
DS:SI Адрес буфера для записи пути текущего каталога
На выходе: AX Код ошибки, если установлен флаг переноса CF

Буфер должен иметь размер не менее 64 байт. Функция 47h возвращает текущий каталог в формате ASCIIZ (то есть строку, закрытую двоичным нулем, например: "path\dirname",0) без символа, обозначающего диск. Если текущим является корневой каталог, регистровая пара DS:SI будет указывать на нулевую строку (состоящую из одного двоичного нуля).

Функция 3Bh предназначена для установки текущего каталога:

На входе: AH 3Bh
DL Номер устройства НГМД или НМД (0 - текущий, 1 - А:, 2 - В:, и т. д.)
DS:DX Адрес буфера, содержащего путь к каталогу, который должен стать текущим
На выходе: AX Код ошибки, если установлен флаг переноса CF

Буфер может иметь максимальный размер 64 байт. Он должен содержать путь в формате ASCIIZ. Строка не должна содержать символ, обозначающий диск. Если текущим должен стать корневой каталог, строка должна состоять только из одного двоичного нуля.



Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий