📄 r_w _regiest.txt
字号:
第四节 读写磁盘文件
设计题目:读写磁盘文件
设计要求:能正确执行对硬盘文件的读写
设计应用:熟练基本的汇编编程,为后来编程打基础。
设计思路:反复利用DOS系统功能调用,进行操作。
设计框图:(见下一页)
设计代码:TITLE FILE.TXT
;******************************************************************
.model small
.stack 64
.data
file db 'd:\masm\l.txt',0 ;创建文件的文件名
buf db 0ah,0dh,'I love the world!' ;写到文件中去的内容
werrmsg db 0ah,0dh,'Write or Close error occurs!','$' ;出错时的提示
;代码续
message db 0ah,0dh,'Done,OK!','$' ;操作成功后的提示
handle dw ? ;保存文件号
rbuf db 256 dup(0) ;文件内容暂存区
rerrmsg db 0ah,0dh,'Read error occurs!','$' ;出错时的提示
;**************************************************************
.code
main proc far
mov ax,@data
mov ds,ax
mov dx,offset file
mov cx,0
mov ah,3ch
int 21h ;创建文件,若磁盘上原有此文件,则覆盖
jc werror ;创建出错,转werror处
mov handle,ax ;保存文件号
mov bx,ax
mov cx,16
mov dx,offset buf
mov ah,40h
int 21h ;向文件中写入16个字节内容
jc werror ;写出错,转werror处
mov bx,handle
mov ah,3eh
int 21h ;关闭文件
jc werror ;关闭文件出错,转werror处
mov dx,offset message
mov ah,9
int 21h ;操作成功后显示提示
jmp next
werror:
mov dx,offset werrmsg
mov ah,9
int 21h ;显示错误提示`
jmp end1
next:
mov dx,offset file
mov al,0
mov ah,3dh
int 21h ;打开文件
jc rerror ;若打开出错,转werror
mov handle,ax ;保存文件号
mov bx,ax
mov cx,255
mov dx,offset rbuf
mov ah,3fh
int 21h ;从文件中读255字节→rbuf
jc rerror ;若读出错,转rerror
mov bx,ax ;实际读到的字符数送入bx
mov rbuf[bx],'$' ;在文件结束处放置一“$”符
mov dx,offset rbuf
mov ah,9
int 21h ;显示文件内容
mov bx,handle
mov ah,3eh
int 21h ;关闭文件
jnc end1 ;若关闭过程无错,转到end1处返回dos
rerror:
mov dx,offset rerrmsg
mov ah,9
int 21h ;显示错误提示
end1:
mov ax,4c00h
int 21h
main endp
end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -