Удаление файлов - Assembler
Формулировка задачи:
Нужна помощь, сейчас изучаю файлы и возникла одна проблема. Написал программу, которая создает файл, заносит в него текст с клавиатуры и в конце программы нужно вывести сообщение Удалить файл: при нажатии на клавишу Y, файл удаляется, а при N программа закрывается. Помогите завершить программу.
Решение задачи: «Удаление файлов»
textual
Листинг программы
;....... mov ah,9 call @m db 'Delete file? Y\N $' @m: pop dx int 21h and ah,0 int 16h ; ждём клаву.. or al,20h ; перевод в нижний регистр and al,'y' ; сбросить(y) jnz @ex ; результ нуль? NZ = Non-Zero. mov ah,41h ; удалить файл! call @m1 db '01.txt',0 ; имя файла @m1: pop dx int 21h @ex: ret ; выход в DOS!
Объяснение кода листинга программы
- Двигатель программы — это цикл while, который продолжается до тех пор, пока пользователь не введет «N» или «n».
- При запуске программы она запрашивает у пользователя имя файла, который необходимо удалить.
- Если пользователь вводит «Y» или «y», то программа переходит к удалению файла.
- Если пользователь вводит «N» или «n», то программа завершается.
- Файл, который необходимо удалить, находится в переменной «filename».
- Программа использует функцию 41h для удаления файла.
- Если файл успешно удален, программа завершается.
- Если файл не удалось удалить, программа выводит сообщение об ошибке и завершается.