文件操作功能(FCB)(FileOperationFunction)

字號:

0FH —打開文件16H —創(chuàng)建文件
    10H —關閉文件17H —文件換名
    11H、12H —查找第一個或下一個文件23H —讀取文件的大小
    13H —刪除文件29H —分析文件名
    (1)、功能0FH
    功能描述:打開文件,并使之為順序讀/寫作好準備
    入口參數(shù):AH=0FH
    DS:DX=文件控制塊的地址
    出口參數(shù):AL=00H——打開成功,否則,AL=FFH(如文件找不到)
    在MS-DOS操作系統(tǒng)中,文件控制塊的字段如下表所示。 字段名偏移量字段含義
    驅動器字00H1 for drive A, 2 for drive B,...
    當前塊字段0CH00H
    記錄大小字段0EH0080H
    文件長度字段10H文件字節(jié)數(shù)
    日期字段14H日期
    時間字段16H時間
    (2)、功能10H
    功能描述:關閉文件
    入口參數(shù):AH=10H
    DS:DX=文件控制塊的地址
    出口參數(shù):AL=00H——關閉成功,否則,AL=FFH
    (3)、功能11H和12H
    功能描述:查找第一個或下一個相匹配的文件
    入口參數(shù):AH=11H——第一個相匹配的文件
     =12H——下一個相匹配的文件
    DS:DX=文件控制塊的地址
    出口參數(shù):AL=00H——查找到,否則,AL=FFH
    (4)、功能13H
    功能描述:在指定(或缺省)的驅動器中,刪除所有相匹配的文件
    入口參數(shù):AH=13H
    DS:DX=文件控制塊的地址
    出口參數(shù):AL=00H——刪除成功,否則,AL=FFH
    (5)、功能16H
    功能描述:在當前目錄中創(chuàng)建一個文件,其文件長度為0,并打開該文件,為隨后的讀/寫操作作好必要的準備
    入口參數(shù):AH=16H
    DS:DX=未打開的文件控制塊的地址
    出口參數(shù):AL=00H——創(chuàng)建成功,否則,AL=FFH(如:磁盤滿)
    (6)、功能17H
    功能描述:在指定的驅動器的當前目錄中,把所有相匹配的文件換名
    入口參數(shù):AH=17H
    DS:DX=指定文件控制塊的地址
    出口參數(shù):AL=00H——換名成功,否則,AL=FFH
    (7)、功能23H
    功能描述:在當前目錄中查找一個相匹配的文件。如果發(fā)現(xiàn),則用其記錄數(shù)來更新其文件大小
    入口參數(shù):AH=23H
    DS:DX=未打開的文件控制塊的地址
    出口參數(shù):AL=00H——匹配成功,F(xiàn)CB中偏移量為21H的字段被設置為其記錄數(shù),否則,AL=0FFH
    (8)、功能29H
    功能描述:分析一個字符串(文件名)置入FCB表中的不同字段
    入口參數(shù):AH=29H
    CX=要寫入的記錄數(shù)
    DS:SI=字符串段的地址
    ES:DI=FCB的地址
    AL=分析的控制標志位 位3=1——若字符串中有文件后綴,則FCB中的文件后綴將改變
    =0——若后綴忽略修改,或若分析后無后綴,則FCB中后綴字段被置為“空”
    位2=1——若字符串中有文件名,則FCB中的文件名將改變
    =0——若文件名忽略修改,或若分析后無文件名,則FCB中文件名字段被置為“空”
    位1=1——若字符串中指定了驅動器號,則FCB中的ID字節(jié)被修改
    =0——若ID字節(jié)忽略修改,或若分析后沒有指定驅動器號,則FCB中驅動器字段被置為0(缺省值)
    位0=1——
    =0——忽略前導分割符
    不忽略前導分割符
    出口參數(shù):AL=00H—沒有通配字符 01H—有通配字符 FFH—驅動器號非法
    DS:SI=分析后文件名第一個字符的地址
    ES:DI=格式化后的、未打開的FCB地址