Получить номер заданного по умолчанию дисковода
Вход: АН = 19h.
Выход: AL - номер дисковода (00h - A:, 01h - В: и т. д.).
:prg07_14.asm - программа получения номера текущего (по умолчанию) дисковода функцией 19h.
I .code
m ;.....Получить номер текущего (по умолчанию) дисковода ---
movah.l9h :номер функции DOS
1nt2lh
jc exit -.переход в случае ошибки :в al номер текущего диска
Выбрать заданный по умолчанию диск
Вход: АН = OEh; DL = номер нового диска по умолчанию (00h = A:, 01h = В: и т. д.).
Выход: AL = максимально возможный в данной системе номер дисковода (00h =
A:, 01h = В: и т. д.) определяется на основе параметра LASTDRIVE в файле
CONFIG.SYS.
Получить информацию о свободном дисковом пространстве
Вход: АН = 36h; DL = номер диска (00h- текущий,01h = А: и т. д.).
Выход: АХ = FFFFh — неправильный номер устройства в DL,
иначе: АХ = число секторов в одном кластере; ВХ - число свободных кластеров; СХ = размер сектора (в байтах); DX = общее число кластеров на диске.
Используя информацию, возвращаемую функцией 36h, можно подсчитать как свободное пространство на диске — произведение АХ*ВХ*СХ, так и полный объем диска — произведение AX*CX*DX.
MS DOS предоставляет следующие возможности для манипулирования каталогами: создание и удаление каталога, получение информации о текущем каталоге и его смена.
Создание каталога
Вход: АН = 39h; DS:DX — ASCIZ-строка пути к создаваемому каталогу. Выход: АХ = не определен (CF ¦ 0); АХ - код ошибки (CF = 1): 3 — несуществующий путь; 5 — доступ запрещен.
Путь к каталогу должен содержать перечисление всех каталогов начиная от корневого на пути к создаваемому каталогу, при этом они, естественно, должны существовать. Последнее имя каталога — имя создаваемого каталога.
;prg07_15.asm - программа демонстрации создания каталога функцией 39h.
.data
dname db "c:\windows\my_diг".0
point_dname dd dname
.code
;.....создадим каталог в каталоге c:\windows.......-.......
Ids пате;формируем указатель на строку с именем нового каталога