【发布时间】:2020-07-10 10:58:01
【问题描述】:
我试图用汇编语言删除一个文件,但它显示非法路径
我正在使用 tasm 或 dosbox
.MODEL SMALL
.STACK 100H
.DATA
FNAME DB 'file.txt' ,0
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX ;initialize OS
MOV AH, 41H ;For deleting file
LEA DX, FNAME ;DX has filename address
INT 21H
MOV AH, 4CH ; return control to DOS
INT 21H
MAIN ENDP
END MAIN
【问题讨论】:
-
您的代码看起来正确。文件是否存在于所需路径(即当前驱动器的工作目录中)?是否被移除?请注意,
AX仅在退出时设置 CF 时包含错误代码。 -
您的代码是正确的。你如何组装/链接代码,你从哪里得到错误信息?很可能不是来自您自己的二进制文件,因为 DOS 不会在那里显示任何错误消息