灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2221回复:0

文件操作功能(FCB)(File Operation Function)

楼主#
更多 发布于:2012-09-10 18:55

0FH ―打开文件16H ―创建文件

10H ―关闭文件17H ―文件换名

11H、12H ―查找第一个或下一个文件23H ―读取文件的大小

13H ―删除文件29H ―分析文件名

(1)、功能0FH

功能描述:打开文件,并使之为顺序读/写作好准备

入口参数:AH=0FH

DS:DX=文件控制块的地址

出口参数:AL=00H――打开成功,否则,AL=FFH(如文件找不到)

在MS-DOS操作系统中,文件控制块的字段如下表所示。 字段名偏移量字段含义

驱动器字00H1 for drive A, 2 for drive B,...

当前块字段0CH00H

记录大小字段0EH0080H

文件长度字段10H文件字节数

日期字段14H日期

时间字段16H时间

(2)、功能10H

功能描述:关闭文件

入口参数:AH=10H

DS:DX=文件控制块的地址

出口参数:AL=00H――关闭成功,否则,AL=FFH

(3)、功能11H和12H

功能描述:查找第一个或下一个相匹配的文件

入口参数:AH=11H――第一个相匹配的文件

  =12H――下一个相匹配的文件

DS:DX=文件控制块的地址

出口参数:AL=00H――查找到,否则,AL=FFH

(4)、功能13H

功能描述:在指定(或缺省)的驱动器中,删除所有相匹配的文件

入口参数:AH=13H

DS:DX=文件控制块的地址

出口参数:AL=00H――删除成功,否则,AL=FFH

(5)、功能16H

功能描述:在当前目录中创建一个文件,其文件长度为0,并打开该文件,为随后的读/写操作作好必要的准备

入口参数:AH=16H

DS:DX=未打开的文件控制块的地址

出口参数:AL=00H――创建成功,否则,AL=FFH(如:磁盘满)

(6)、功能17H

功能描述:在指定的驱动器的当前目录中,把所有相匹配的文件换名

入口参数:AH=17H

DS:DX=指定文件控制块的地址

出口参数:AL=00H――换名成功,否则,AL=FFH

(7)、功能23H

功能描述:在当前目录中查找一个相匹配的文件。如果发现,则用其记录数来更新其文件大小

入口参数:AH=23H

DS:DX=未打开的文件控制块的地址

出口参数:AL=00H――匹配成功,FCB中偏移量为21H的字段被设置为其记录数,否则,AL=0FFH

(8)、功能29H

功能描述:分析一个字符串(文件名)置入FCB表中的不同字段

入口参数:AH=29H

CX=要写入的记录数

DS:SI=字符串段的地址

ES:DI=FCB的地址

AL=分析的控制标志位 位3=1――若字符串中有文件后缀,则FCB中的文件后缀将改变

=0――若后缀忽略修改,或若分析后无后缀,则FCB中后缀字段被置为“空”

位2=1――若字符串中有文件名,则FCB中的文件名将改变

=0――若文件名忽略修改,或若分析后无文件名,则FCB中文件名字段被置为“空”

位1=1――若字符串中指定了驱动器号,则FCB中的ID字节被修改

=0――若ID字节忽略修改,或若分析后没有指定驱动器号,则FCB中驱动器字段被置为0(缺省值)

位0=1――

=0――忽略前导分割符

不忽略前导分割符

出口参数:AL=00H―没有通配字符 01H―有通配字符 FFH―驱动器号非法

DS:SI=分析后文件名第一个字符的地址

ES:DI=格式化后的、未打开的FCB地址

喜欢0 评分0
游客

返回顶部