Сборник по задачам и примерам Assembler



         

Получить номер заданного по умолчанию дисковода - часть 2


movah,39h :номер функции DOS

int 21h

jc exit ;переход в случае ошибки

Удаление каталога

Вход: АН = 3Ah; DS:DX — ASCIZ-строка пути к удаляемому каталогу. Выход: CF = 0 — АХ = не определен; АХ = код ошибки (CF = 1): 3 — несуществующий путь; 5 — доступ запрещен; 10h — попытка удаления текущего каталога. Удаляемый каталог должен быть пустым.

:prg07_16.asm - программа демонстрации удаления каталога функцией ЗАп.

.data

dname db "c:\windows\my_diг",О point_dname dd dname

.code

:----удалим каталог my_dir в каталоге c:\windows---------

Ids dx.point_dname;формируем указатель на строку с именем нового каталога movah.3ah :номер функции DOS *

int 21h

jc exit ;переход в случае ошибки

Изменить текущий каталог

MS DOS позволяет установить текущий каталог для того, чтобы не указывать полный путь для последующих операций с файлами. При необходимости можно получить полный путь к текущему каталогу в виде ASCIZ-строки. Вход: АН = 3Bh; DS:DX — указатель на буфер, содержащий полный путь от корневого каталога в виде ASCIZ-строки (до 64 байт). Выход: CF = 0 — АХ = не определен; CF = 1 — АХ = код ошибки: 03h — путь не найден.

:prg07_17.asm - программа демонстрации изменения текущего каталога функцией ЗВп.

.data

dname db "c:\windows",0

point_dname dd dname

.code

|.........

:.....изменим текущий каталог на каталог c:\windows--------

Ids dx.point_dname:формируем указатель на строку с именем нового каталога

movah.3bh :номер функции DOS

int21h

jc exit . :переход в случае ошибки

;.........

Получение текущего каталога

Вход: Ан = 47h;

DL = номер устройства (00h= текущее (по умолчанию),01h = А: и т. д.) DS:SI — указатель на 64-байтный буфер для записи полного пути от корневого каталога (ASCIZ-строка).

рыход: АХ = не определен или 0100h(CF=0);

АХ = код ошибки (CF=1): OFh — недопустимый дисковод.

:prg07_18.asm - программа демонстрации получения текущего каталога функцией 47h.

.data

dname db "e:\tools".О

point_dname dd dname

d_cur_name db 64 dup (20h).0




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