Программирование на Ассемблере
... ;и так далее Протестировав этот фрагмент в отладчике (здесь мы подразумеваем, что
библиотека dos.library уже открыта где-то раньше в программе), Вы увидите,
что буфер ввода действительно будет содержать текст, ранее записанный в
файл, а регистр D6 будет содержать длину этого текста. 6.5.3. Удаление файлов. После проведенных выше экспериментов с файлом Testfile Вам вполне может
понадобится его удалить. Для этого библиотека dos.library содержит
специальную функцию - DeleteFile, которая имеет смещение -72 относительно
базового адреса библиотеки. Эта функция требует всего один параметр -
указатель на имя удаляемого файла (в D1). Чтобы удалить \"Testfile\", можно использовать следующий фрагмент кода: DeleteFile = -72 ;(6.5.3)
...
move.l dosbase(PC),A6 ;загрузка базового адреса
;dos.library
move.l #filename,D1 ;имя удаляемого файла
jsr DeleteFile(A6) ;удаляем! После этого \"Testfile\" исчезает из текущего каталога. Восстановить
удаленный файл очень непросто, однако некоторые программы используют для
этого специальный трюк, о котором мы поговорим позже. 6.5.4. Переименование файлов. Когда, скажем, текстовый редактор сохраняет измененный текст на диске, то
старый файл обычно не стирается. Вместо этого редактор изменяет его имя
(например, на \"backup\"), после чего без проблем записывает новый файл. Для переименования файлов используется функция Rename, которая также входит
в состав dos.library. Эта функция имеет смещение -78 и вызывается с двумя
параметрами: в D1 передается указатель на старое имя файла, а в D2 - на
новое.
Переименовать файл \"Testfile\" в \"Backup\" можно, например, так: Rename = -78
...
move.l dosbase(PC),A6 ;база dos.library
move.l #oldname,D1 ;указатель на старое имя файла
move.l #newname,D2 ;указатель на новое имя файла
jsr Rename(A6) ;переименовываем
...
|