目录 上一页 下一页 下一章

第7章 文件控制块 -197-





ERR_EXIT:






MAIN
BUFFER
CODE

MOV
MOV
XOR
INT

MOV
MOV
INT

MOV
INT
ENDP
LABEL
ENDS
END
AH,28H
DX,BX
CX,CX
21H

AH,10H
DX,OFFSET FCB2
21H

AH,4CH
21H

BYTE

MAIN
;利用"随机块写"功能
;修改"目标文件"的长度



;关闭"目标文件"



;结束进程





  以下是这个程序的跟踪结果:
C:\ASM\>DEBUG FCBCOPY.EXE [Enter]
g=0 3d[Enter]
AX=2703BX=0000CX=0006DX=0000SP=0000BP=0000SI=0000DI=0000
DS=15F1ES=15E1SS=15F1CS=15F6IP=003D NV UP EI PL ZR NA PE NC
15F6:003D3C03CMP AL,03
  执行随机块读功能,可以看到AL寄存器返回错误码03H,说明DOS没有读到完整的7个记录,只读到了6个记录。你可以列出DTA中的内容观察一下,看看是否读入了完整的CONFIG文件。
g=3d 4b[Enter]
AX=2800BX=0000CX=0006DX=0025SP=0000BP=0000SI=0000DI=0000
DS=15F1ES=15E1SS=15F1CS=15F6IP=004B NV UP EI PL ZR NA PE NC
15F6:004B0AC0OR AL,AL
  随机块写功能正常地执行了,有6个记录写入目的文件中,我们现在看看目的文件的长度是多少:
-d25 4a[Enter]
15F1:0020               03 43 4F-4E 46 49 47 20 20 54 58     .CONFIG  TX
15F1:003054 00 00 80 00 00 03 00-00 54 21 94 4B 40 02 02T........T!.K@..
15F1:004059 07 60 B8 0F 06 06 00-00 00 00Y.`........
  文件长度为300H字节,比实际长度667字节要大,所以我们需要调整一下目的文件的长

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章