目录 上一页 下一页 下一章

-198- PC机汇编语言实战精解

度。在前面我们曾经用直接修改FCB中文件长度数值的方法改变文件长度,这种方法不太好,现在我们将使用随机块写功能调整文件长度:
g=4b 68[Enter]
AX=2800BX=0025CX=0006DX=0025SP=0000BP=0000SI=0000DI=0000
DS=15F1ES=15E1SS=15F1CS=15F6IP=0068 NV UP EI PL ZR NA PE NC
15F6:0068B410MOV AH,10
  调整的方法也不难,首先设置目标文件的随机记录号等于源文件的长度,并且将目标文件的记录长度设为1字节,然后我们向目标文件中写入0个记录,这样就可以修改目标文件的长度。
-d25 4a[Enter]
15F1:0020               03 43 4F-4E 46 49 47 20 20 54 58     .CONFIG  TX
15F1:003054 05 00 01 00 9B 02 00-00 54 21 9D 4B 40 02 02T........T!.K@..
15F1:004059 07 60 B8 0F 1B 9B 02-00 00 00Y.`........
  调整后文件长度为29BH,恰好等于源文件长度。注意一下FCB中还有哪些数据发生了变化。
  执行完所有的程序,返回DOS,看一看当前目录下是否有CONFIG.TXT文件,并检查其内容。
  通过这几个程序例我想大家对FCB的随机存取功能已经有了相当的了解。下一节我们将结束对FCB的讨论。
7.4 FCB完结篇
  这一节我们要讨论有关FCB的一些较为特殊的应用,主要是三个方面的内容:一是应用FCB删除文件和给文件改名;其二是利用扩展FCB访问具有特殊属性的文件。第三是有关"命令行参数"的问题。我们先来讨论第一个问题--删除与改名。
功能号:
用 途:
参 数:
调 用:
返 回:

13H
删除文件
DS:DX--指向未打开的FCB
INT 21H
AL = 0--文件正确删除
AL = 0FFH--文件未能删除
功能号:
用 途:
参 数:
调 用:
返 回:

17H
文件改名
DS:DX--指向特殊的FCB
INT 21H
AL = 0--文件正确改名
AL = 0FFH--文件未能改名
  这两个功能在应用时应注意这样几点:首先要注意它们所使用的FCB的性质,13H功能要求使用一个未打开的FCB,17H功能使用一个特殊的FCB。下面我们就来看看特殊的FCB是一种什么结构,请看图7-4:

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章