Текущий диск и текущий каталог
В любой момент времени программа может определить текущий диск или текущий каталог, а также сменить текущий диск или текущий каталог. Для этого она должна использовать специальные функции прерывания 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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий