Files
Operating-System/Experiment/asm-exp/实验八/实验八-4_文件删除.asm
2026-06-25 00:09:09 +08:00

62 lines
1.2 KiB
NASM
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
; 实验八-4: 文件删除程序
; 功能: 使用DOS功能号41H删除文件
; 说明: 警告:此操作不可恢复!
DATAS SEGMENT
FILENAME DB 'testfile.txt', 0 ; 要删除的文件名
ERR_MSG DB 'File delete error!', 0DH, 0AH, '$'
OK_MSG DB 'File deleted successfully!', 0DH, 0AH, '$'
NO_FILE_MSG DB 'File does not exist!', 0DH, 0AH, '$'
DATAS ENDS
STACKS SEGMENT
DB 64 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS, SS:STACKS
START:
MOV AX, DATAS
MOV DS, AX
; 删除文件 (功能号41H)
; AH = 41H (删除文件功能号)
; DS:DX = 文件名地址
; AL必须为0
LEA DX, FILENAME
MOV AH, 41H
MOV AL, 00H
INT 21H
; 检查删除是否成功
; 注意如果文件不存在AX会返回错误
JNC DELETE_SUCCESS
; 检查是否是"文件未找到"错误 (错误码2)
CMP AX, 02H
JE FILE_NOT_FOUND
; 其他错误
LEA DX, ERR_MSG
MOV AH, 09H
INT 21H
JMP PROGRAM_END
FILE_NOT_FOUND:
LEA DX, NO_FILE_MSG
MOV AH, 09H
INT 21H
JMP PROGRAM_END
DELETE_SUCCESS:
LEA DX, OK_MSG
MOV AH, 09H
INT 21H
PROGRAM_END:
MOV AH, 4CH
INT 21H
CODES ENDS
END START