Удаление файлов - 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!

Объяснение кода листинга программы

  1. Двигатель программы — это цикл while, который продолжается до тех пор, пока пользователь не введет «N» или «n».
  2. При запуске программы она запрашивает у пользователя имя файла, который необходимо удалить.
  3. Если пользователь вводит «Y» или «y», то программа переходит к удалению файла.
  4. Если пользователь вводит «N» или «n», то программа завершается.
  5. Файл, который необходимо удалить, находится в переменной «filename».
  6. Программа использует функцию 41h для удаления файла.
  7. Если файл успешно удален, программа завершается.
  8. Если файл не удалось удалить, программа выводит сообщение об ошибке и завершается.

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

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