| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для Windows/Dos > Переименование файла |
| Автор: Oxy 21.10.2009, 23:55 | ||
| TASM Windows Vista Не получается переименовать файл, подскажите пожалуйста в чем может быть проблема
|
| Автор: 111u3 22.10.2009, 02:56 |
| А ту же директорию деста указывать не пробовал |
| Автор: Mikl_ 22.10.2009, 10:33 |
| [delete] |
| Автор: Mikl_ 22.10.2009, 10:54 | ||
| Oxy, не внимательно читаешь описание функции 56h В регистре AH должен находиться номер функции (56h). Регистры DS:DX должны содержать адрес строки с именем существующего файла, строка должна заканчиваться нулем и может содержать путь к файлу. Регистры ES:BX должны содержать адрес строки с новым именем файла, строка должна заканчиваться нулем. В CL атрибуты файла При выходе, если ошибки не произошло, то флаг CF = 0. Если произошла ошибка, то флаг CF = 1 и в регистре AX находится код ошибки. 02 файл не найден 03 путь не найден 05 доступ запрещен 11h не то же устройство Если не анализировать код ошибки то
|
| Автор: Oxy 22.10.2009, 11:29 |
http://www.eduhmao.ru/info/1/3661/22917/ я здесь читал сейчас нет возможности проверить Ваш вариант, но все равно спасибо |
| Автор: Goodwin98 22.10.2009, 23:22 |
| Mikl_, имя должно передоваться в di все таки. Oxy, папка C:\2\ должна существовать, чтобы в нее можно было переместить файл. Да и пробел в конце там врядли к месту. |
| Автор: Mikl_ 23.10.2009, 03:41 |
| Goodwin98, Oxy Никому нельзя верить -- я взял свой вариант с ES:BX в книге Р.Брауна, Дж.Кайла "Справочник по прерываниям для IBM PC" Москва, издательство "Мир" 1994, том 1, глава 8, стр 8 - 64, до сих пор меня Браун и Кайл не обманывали, а здесь наверное либо опечатка, либо сами не проверяли. Проверил должно быть DI иначе файл переименовывается во что-то непотребное |
| Автор: piritus 23.10.2009, 10:25 |
| Рекомендую по прерываниям (и не только) использовать http://asm.shadrinsk.net/tech60.rar |