我想创建,编写,打开,读取和关闭我的文件。出于某种原因,它没有做任何事情

时间:2015-05-10 19:39:49

标签: assembly

这是我创建,编写,阅读和关闭文件的代码,但是一旦我运行该程序,它就会关闭并且没有创建任何内容。我做错了什么?

.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

1 个答案:

答案 0 :(得分:1)

由于您的程序是作为.COM创建的(请参阅ORG 256),因此您需要在开头跳过数据。但是将DATA放在CODE下面会更好。

首先关闭文件,然后再重新打开文件进行阅读!