目录 上一页 下一页 下一章

第7章 文件控制块 -191-






NOT_UPPER:










ERR_EXIT:













MAIN
CODE

CMP
JB
CMP
JA
ADD

STOSB
LOOP

MOV
MOV
INT
OR
JNZ

JMP

MOV
MOV
MOV
MOV
MOV
MOV

MOV
MOV
INT

MOV
INT
ENDP
ENDS
END
AL,'A'
NOT_UPPER
AL,'Z'
NOT_UPPER
AL,20H


NEXT_CHAR

AH,15H
DX,OFFSET FCB2
21H
AL,AL
ERR_EXIT

READ_REC

BX,OFFSET FCB1
AX,WORD PTR [BX+10H]
DX,WORD PTR [BX+12H]
BX,OFFSET FCB2
WORD PTR [BX+10H],AX
WORD PTR [BX+12H],DX

AH,10H
DX,OFFSET FCB2
21H

AH,4CH
21H


MAIN
;是"A"吗?
;若比"A"小,转NOT_UPPER
;是"Z"吗?
;比"Z"大,转NOT_UPPER
;将AL寄存器中的字符转换成小写

;将转换成的小写字母存回DTA
;处理下一个字符

;将转换完的数据写入FCB2指示的文件中


;写入操作正确吗?
;没有正确地的写入文件,转ERR_EXIT

;处理下一个记录

;BX指向FCB1
;AX寄存器取得文件长度低字
;DX寄存器取得文件长度高字
;BX指向FCB2
;将"源文件"的长度填入FCB2


;关闭FCB2指示的文件



;结束进程




  我们已经讨论了有关FCB文件处理的五项系统功能,灵活的使用这5项功能就可以编制出非常有效的程序。当然DOS还给我们提供了一些辅助性的功能调用,那么这些功能我在此就不再过多讨论,学习也是要分主次的,真正掌握住主要的东西是学习好汇编语言的关键。那么下面我们就要讨论FCB记录的随机存取功能。

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章