; 实验八-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