文件操作功能(FCB)(File Operation Function)
2470 点击·0 回帖
![]() | ![]() | |
![]() | 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地址 | |
![]() | ![]() |