前言
新建一个文件,在文件中输入一串字符。再从把这些字符读出来显示到屏幕上
一、程序
DATAS SEGMENT
path db 'f:\test.txt'
buf db 'abcde!'
handle dw ?
error_message db 0ah,'error!','$'
message db 0ah,'ok!','$'
buf1 db ?
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
;新建文件
mov dx,offset path
mov cx,0
mov ah,3ch
int 21h
jc error
;mov handle,ax
;写文件
mov bx,ax
mov cx,5
mov dx,offset buf
mov ah,40h
int 21h
jc error
;关闭文件
mov bx,handle
mov ah,3eh
int 21h
jc error
mov dx,offset message
mov ah,9
int 21h
call dispc
jmp end1
error:
mov dx,offset error_message
mov ah,9
int 21h
end1:
;打开文件
mov dx,offset path
mov al,0
mov ah,3dh
int 21h
;读取文件的内容,存入buf1
mov bx,ax
lea dx,buf1
mov cx,5
mov ah,3fh
int 21h
;显示buf1中的内容
mov cx,0
mov si,offset buf1
next:
mov dl,[si]
mov ah,2
int 21h
add cx,1
add si,1
cmp cx,5
jb next
jmp end2
end2:
;关闭文件
mov ah,3eh
int 21h
MOV AH,4CH
INT 21H
;回车换行
dispc proc
push ax
push dx
mov dl,13
mov ah,2
int 21h
mov dl,10
mov ah,2
int 21h
pop dx
pop ax
ret
dispc endp
CODES ENDS
END START