编写了一个asm文件,用于写内容到文件。
代码运行没报错,但是没有生成文件。
这下面是完整的源代码,大家运行下帮我看看怎么回事?
DATAS SEGMENT
FILE DB '2.txt',0
BUF DB 'this is a test !$'
ERROR_MESS DB 'create failed!',10,13,'$'
SUCC_MESS DB 'create successfully!',10,13,'$'
EEEOR_MESS_WRITE DB 'write to file failed!$',10,13,'$'
SUCC_WRITE DB 'write successfully',10,13,'$'
HANDLE DW ?
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV DX,OFFSET FILE
MOV CX,0 ;文件属性,0默认
MOV AH,3CH ;创建文件
INT 21H ;调用DOS
JC ERROR
MOV HANDLE,AX ;保存文件号
MOV DX,OFFSET SUCC_MESS ;输出create successfluly提示信息
MOV AH,9
INT 21H
MOV BX,HANDLE ;输出BUF到文件
MOV CX,16
MOV DX,OFFSET BUF
MOV AH,40H
INT 21H
JC ERROR_WRITE
MOV DX,OFFSET SUCC_WRITE
MOV AH,9
INT 21H
MOV BX,HANDLE ;关闭文件
MOV AH,3EH
INT 21H
JMP ENDING
ERROR:
MOV DX,OFFSET ERROR_MESS
MOV AH,9
INT 21H
JMP ENDING
ERROR_WRITE:
MOV DX,OFFSET EEEOR_MESS_WRITE
MOV AH,9
INT 21H
ENDING:
MOV AH,4CH
INT 21H
CODES ENDS
END START |