这是我创建,编写,阅读和关闭文件的代码,但是一旦我运行该程序,它就会关闭并且没有创建任何内容。我做错了什么?
.model tiny
.data
file db "file.txt",0
buffer db 256 dup(?) ;data buffer
.code
.stack
cseg segment 'code'
assume cs:cseg, ds:cseg
org 100h
;creating a file
mov ah, 3Ch
xor cx, cx
mov dx, offset file
int 21h
jc error
;write file
mov bx, ax
mov ah, 40h
mov cx, 256
mov dx, offset buffer
int 21h
jc error
;open file
mov ah, 3Dh
mov al, 0
mov dx, offset file
int 21h
jc error
;read file
mov bx, ax
mov ah, 3Fh
mov cx, 256
mov dx, offset buffer
int 21h
jc error
;closing file
mov ah, 3Eh
int 21h
error:
mov ax, 4C00h
int 21h
cseg ends
end
答案 0 :(得分:1)
由于您的程序是作为.COM创建的(请参阅ORG 256),因此您需要在开头跳过数据。但是将DATA放在CODE下面会更好。
首先关闭文件,然后再重新打开文件进行阅读!