目录 上一页 下一页 下一章

第7章 文件控制块 -201-






ERR_EXIT:


MAIN
CODE

JNZ

MOV
MOV
INT

MOV
INT
ENDP
ENDS
END
ERR_EXIT

AH,9
DX,OFFSET MSG
21H

AH,4CH
21H


MAIN
;未能找到指定的文件,转ERR_EXIT

;显示"OK!!!"



;结束进程




  我们要讨论的第二个问题是个比较重要的内容,尽管这部分内容也不常用,但它是FCB文件功能与文件句柄功能的一个最显著的区别。我们知道存在于磁盘上的内容不仅是文件,还有子目录和卷标。即使是文件也有只读、隐含等很多种不同的属性。如何处理这些具有属性的文件,这就要用到扩展的FCB。我们前面讨论过有关文件属性的问题,DOS实际上是用一个字节表示文件属性,这个字节存放在扩展FCB的最后,也就是紧挨着驱动器号前面的那个字节。有关这方面的知识请大家复习一下本章的第二节。我准备通过一个实际程序来说明这个问题,请看例程LABEL.ASM:
LABEL.ASM
DATA

EXT_FCB



DRIVE2
FILE_NAME
EXT_NAME

NEW_NAME

MSG
DATA

CODE

MAIN



SEGMENT
ASSUME
LABEL










ENDS

SEGMENT
ASSUME
PROC
MOV
MOV


DS:DATA
BYTE
DB 0FFH
DB 5 DUP(0)
DB 00001000B
DB 0
DB '* '
DB '* '
DB 5 DUP(0)
DB 'ABCDEFGHIJK'

DB 'OK!!!',0DH,0AH,24H



CS:CODE
FAR
AX,DATA
DS,AX




;扩展FCB标志

;属性字节(磁盘卷标)
;驱动器号,0:当前 1:A 2:B ...
;文件名
;扩展名









;初始化DS寄存器


Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章