目录 上一页 下一页 下一章

第8章 文件句柄功能与磁盘 -215-

















abord:



exit:


main
code

int
jc

cmp
jz

mov
mov
int
mov
int

mov
mov
int
jmp

mov
mov
int

mov
int
endp
ends
end
21h
abord

cx,32
dup_loop

ah,3eh
bx,handle1
21h
bx,handle2
21h

dx,offset msg2
ah,9
21h
exit

dx,offset msg1
ah,9
21h

ah,4ch
21h


main

;若数据未能正确写入文件,转ABORD

;处理的数据够32个字节吗?
;若处理的数据够32字节,转DUP_LOOP继续

;关闭源文件


;关闭目标文件


;显示字符串MSG2


;转EXIT结束进程

;输出字符串MSG1



;结束进程




  通过这个程序我们可以看到写入功能40H的调用方法与3FH功能大同小异。这个程序每次处理32字节数据,依据DOS在AX寄存器返回的字节数判断是否处理完所有数据。它还演示了3CH功能的用法,除此之外没有什么更多特殊的地方。当然,有一点还要提醒大家,那就是不要忘记使用3EH功能关闭文件确实保证数据存入磁盘。
  我们的学习好象变得越来越平淡了,新问题似乎变得少了,可能这就是一般所说的"书越念越浅"吧。实际上我所要讲解的东西也确实是越来越少,大家通过这一段的学习,对汇编语言的特点和学习方法已有了一定的了解,很多问题不用我说大家自然知道如何应用DEBUG之类的工具软件去分析研究。当然,概念性的内容还是要仔细讨论的,比如程序TYPEFILE.ASM所反映出的问题:
TYPEFILE.ASM
HANDLE2
data

fname1
equ
segment
assume
db
02h

ds:data
'config.txt',0



;将处理的文件名

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章