【发布时间】:2021-10-25 14:29:44
【问题描述】:
这篇文章的原因是看看是否可以对这段代码做些什么,发生的情况是,只要创建文件的 3CH 函数使用 INT 21H 执行,我就无法删除文件,因为我做了测试并删除执行中断以创建文件,如果我直接在 NMF 中输入文件名,删除是否有效,当我再次尝试使用 NMF 中的直接名称执行创建中断时,它停止工作。
;Enter the file name
MOV AH, 0AH
LEA DX, NMF
INT 21H
MOV BL, NMF[1]
MOV NMF[BX + 2], ' '
;Create the file
MOV AH, 3CH
MOV CX, 0H
LEA DX, NMF + 2
INT 21H
MOV HND, AX
;Close the file
MOV AH, 3EH
MOV BX, HND
INT 21H
;Delete the file
MOV AH, 41H
LEA DX, NMF + 2
INT 21H
NMF 和 HND 定义如下。
NMF DB 100 DUP(' '), 0
HND DW 0
而且值得一提的是,启动中断删除文件时CF = 0和AX = 00003,所以我不知道是不是错误,因为CF不是1。我希望你能帮帮我,谢谢。
【问题讨论】: