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