Переименование файлов - Assembler

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Задача такова : "Добавить в конец имени каждого файла с расширением ASM в текущем каталоге символ подчеркивания (например, LAB1.ASM переименовать в LAB1_.ASM). Если имя файла содержит 8 символов, заменить последний символ символом подчеркивания." Не переименовывает файлы. Ошибок не выдаёт. Помогите пожалуйста.
.model small
.data
    
file_name       db  '*.asm', 0          ; ASCIIZ-имя файла
file_namet      db  '*_.asm', 0         ; ASCIIZ-имя файла
dta     db  256 dup (?)     ; буфер для DTA
 
.code
assume ds:@data,es:@data    
 
        start:
         mov ax,@data
            mov ds,ax
            mov es,ax
            
        mov ax, 1ah     ; функция установки DTA
        lea dx, dta     ; DS:DX указывают на DTA
        int     21h
 
;Найти первый файл
        mov    ah, 4eh
        xor    cx,cx
        lea dx, file_name
        int 21h

;Изменяем имя
 
changename:                      mov dx, offset dta
                    mov ah, 56h
                    lea dx, file_name
                    lea di, file_namet
                    int 21h
                    jc exit
                    
;Поиск следующего файла
                    
                    mov ah, 4fh
                    lea dx, dta
                    int 21h
                    jnc changename

exit:       mov ax, 4Ch
            int 21h
            end start

Решение задачи: «Переименование файлов»

textual
Листинг программы
@F:
mov byte ptr [di-6],'_'

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы