注册 登录
编程论坛 汇编论坛

汇编新文件建立求助

小军123 发布于 2015-05-23 23:11, 4321 次点击
汇编作业遇到了一个瓶颈,在各种尝试下,总是无法在磁盘中建立一个新文件。

为什么这个程序不能建立一个新文件?

 

DATA SEGMENT
FILENAME DB 'c:\TEST1.DAT', 0
HANDLE DW ?
 SUCCESS DB 0DH, 0AH, 'The file has been CREATED. $'
FAIL DB 0DH, 0AH, 'The file fail to be CREATED. $'
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE,DS: DATA
START: MOV AX, DATA
MOV DS, AX
LEA DX, FILENAME; ASCIZ串地址置入DS: DX
MOV CX, 0 ; 文件属性为0(普通文件)
MOV AH, 3CH
INT 21H ; 建立该文件
JNC SUCCE ; CF=0,转SUCCE
LEA DX, FAIL ; CF=1,置出错信息地址
JMP QUIT
SUCCE:MOV HANDLE, AX ; 保存文件代号
LEA DX, SUCCESS ; 取"成功"信息地址
QUIT: MOV AH, 09H
INT 21H ; 显示成功/失败信息
MOV AH, 4CH
INT 21H
CODE ENDS
END START
6 回复
#2
取名字2015-05-24 14:19
在我的电脑上一切正常,在你的电脑上不能建立一个新文件,试着检查一下对于C盘有没有写的权限,或者换一个分区试试。
#3
小军1232015-05-24 21:12
检查不出来哪里出错了。明明显示已成功创建,但就是找不到成功创建的文件在哪
#4
取名字2015-05-24 23:40
试着把程序中可疑的地方改动一下,改一处就编译链接,然后看一下结果,边改边看,应该可以看出问题所在。比如说,把“C:\test1.dat”改成“D:\test1.dat”,或者改成“D:\test1.txt”试一下,即改动一下文件存储的分区或者是改变一下文件的扩展名、所建立文件的类型等,看一下有没有什么变化。
最好单步调试看一下有什么问题。不排除电脑本身可能存在的问题,如:中毒导致建立的文件被隐藏等等。
#5
wp2319572015-05-25 08:46
是dos系统吗
#6
小军1232015-05-25 12:01
回复 5楼 wp231957
是win7里用dosbox运行的
#7
小军1232015-05-25 12:20
问题解决了,我用Masm for windows集成实验环境运行,然后它认为C盘是Masm文件夹,当前路径是Masm文件夹里的bin文件夹。不过目前只是知其然不知其所以然,还是谢谢大家了
1