字符功能
01H、07H和08H —從標準輸入設備輸入字符
02H —字符輸出
03H —輔助設備的輸入
04H —輔助設備的輸出
05H —打印輸出
06H —控制檯輸入/輸出
09H —顯示字符串
0AH — 鍵盤緩衝輸入
0BH —檢測輸入狀態
0CH —清輸入緩衝區的輸入功能
1、功能01H、07H和08H
功能描述:從標準輸入設備(如:鍵盤)讀入一個字符。該中斷在處理過程中將一直處於等待狀態直到有字符可讀爲止。該輸入還可被重定向,如果這樣做,則無法判斷文件是否已到文件尾。
入口參數:
AH=01H,過濾掉控制字符,並回顯。
AH=07H,不過濾掉控制字符,不回顯。
AH=08H,過濾掉控制字符,不回顯。
出口參數:
AL=輸入字符的ASCII碼。
2、功能02H
功能描述:向標準輸出設備(如:屏幕)輸出一個字符。該輸出還可被重定向,如果這樣做,則將無法判斷磁盤是否滿
入口參數:
AH=02H
DL=待輸出字符的ASCII碼
出口參數:無
3、功能03H
功能描述:從輔助設備讀入一個字符,該輔助設備的缺省值爲COM1
入口參數:
AH=03H
出口參數:
AL=讀入字符的ASCII碼
4、功能04H
功能描述:向輔助設備輸出一個字符,該輔助設備的缺省值爲COM1
入口參數:
AH=04H
DL=待輸出字符的ASCII碼
出口參數:無
5、功能05H
功能描述:向標準的輸出設備輸出一個字符。該缺省的輸出設備爲LPT1端口的打印機,除非用MODE命令來改變
入口參數:
AH=05H
DL=待輸出字符的ASCII碼
出口參數:無
6、功能06H
功能描述:控制檯(如:鍵盤、屏幕)輸入/輸出。如果輸入/輸出操作被重定向,那麼,將無法判斷文件是否已到文件尾,或磁盤已滿
入口參數:
AH=06H,DL=輸入/輸出功能選擇
出口參數:
若DL=00H-FEH,則此功能爲輸出,DL爲待輸出字符的ASCII碼;
若DL=0FFH,則此功能爲輸入,此時:若ZF=1,則無字符可讀,否則,AL=讀入字符的ASCII碼
7、功能09H
功能描述:輸出一個字符串到標準輸出設備上。如果輸出操作被重定向,那麼,將無法判斷磁盤已滿
入口參數:AH=09H
DS:DX=待輸出字符的地址
說明:待顯示的字符串以’$’作爲其結束標誌
出口參數:無
8、功能0AH
功能描述:從標準輸入設備上讀入一個字節字符串,遇到“回車鍵”結束輸入(輸入的字符在標準的輸出設備上有回顯)。如果該輸入操作被重定向,那麼,將無法判斷文件是否已到文件尾
入口參數:
AH=0AH
DS:DX=存放輸入字符的起始地址
接受輸入字符串緩衝區的定義說明:
1、第一個字節爲緩衝區的最大容量,可認爲是入口參數;
2、第二個字節爲實際輸入的字符數(不包括回車鍵),可看作出口參數;
3、從第三個字節開始存放實際輸入的字符串;
4、字符串以回車鍵結束,回車符是接受的最後一個字符;
5、若輸入的字符數超過緩衝區的最大容量,則多出的部分被丟棄,系統併發出響鈴,直到輸入“回車”鍵才結束輸入。
例如:
BUFF 80, ?, 80 DUP(?) ;最多接受80個字符
出口參數:無
9、功能0BH
功能描述:檢查標準輸入設備上是否有字符可讀。該輸入操作可被重定向
入口參數:
AH=0BH
出口參數:
AL=00H——無字符可讀;
FFH——有字符可讀
10、功能0CH
功能描述:清空當前的標準輸入緩衝區,再讀入字符。其輸入操作可被重定向
入口參數:
AH=0CH
AL=01H、06H、07H、08H或0AH
出口參數:
若入口參數AL爲0AH,則DS:DX=存放輸入字符的起始地址,否則,出口參數AL=輸入字符的ASCII碼
目錄控制功能
39H —創建目錄
3AH —刪除目錄
3BH —設置當前目錄
47H —讀取當前目錄
1、功能39H
功能描述:用指定的驅動器和路徑創建一個新目錄
入口參數:
AH=39H
DS:DX=指定路徑的字符串地址(以0爲字符串的結束標誌)
出口參數:
CF=0——創建成功,否則,AX=錯誤號(03H或05H),其含義見錯誤代碼表
2、功能3AH
功能描述:刪除指定的驅動器和路徑的目錄
入口參數:
AH=3AH
DS:DX=指定路徑的字符串地址(以0爲字符串的結束標誌)
出口參數:
CF=0——刪除成功,否則,
AX=錯誤號(03H或05H),其含義見錯誤代碼表
3、功能3BH
功能描述:用指定的驅動器和路徑設置爲當前目錄
入口參數:
AH=3BH
DS:DX=指定路徑的字符串地址(以0爲字符串的結束標誌)
出口參數:
CF=0——設置成功,否則,AX=錯誤號(03H),其含義見錯誤代碼表
4、功能47H
功能描述:取當前目錄的完全路徑字符串
入口參數:
AH=47H
DL=驅動器號(0=缺省,1=A,…)
DS:SI=存放當前目錄字符串的地址
出口參數:
CF=0——讀取成功,否則,
AX=錯誤號(0FH),其含義見錯誤代碼表
磁盤管理功能
0DH —磁盤復位
0EH —選擇磁盤
19H —讀取當前驅動器
1BH, 1CH —讀取驅動器數據
2EH —設置校驗標誌
36H —讀取驅動器分配信息
54H —讀取校驗標誌
1、功能0DH
功能描述:清空當前的文件緩衝區,但在MS-DOS內,暫時寫入緩衝區的數據將寫入磁盤
入口參數:
AH=0DH
出口參數:無
2、功能0EH
功能描述:指定當前驅動器
入口參數:
AH=0EH
DL=驅動器號(0=A,1=B,...)
出口參數:
AL=系統中當前的驅動器號
3、功能19H
功能描述:取當前缺省驅動器號
入口參數:
AH=19H
出口參數:
AL=驅動器號(0=A,1=B,...)
4、功能1BH和1CH
功能描述:獲得驅動器的分配信息
入口參數:
AH=1BH——爲缺省驅動器
AH=1CH——爲任意驅動器,
DL=驅動器號(0=缺省,1=A,...)
出口參數:
AL=0FFH——失敗,
否則,
AL=每簇的扇區數
DS:BX=ID字節的地址
CX=物理扇區的大小(字節數)
DX=驅動器的簇數
5、功能2EH
功能描述:設置/清除操作系統自動讀取檢驗標誌
入口參數:
AH=2EH
DL=00H
AL=00H——清除該標誌,01H——設置該標誌
出口參數:無
6、功能36H
功能描述:取選定驅動器的信息
入口參數:
AH=36H
DL=驅動器號(0-缺省,1=A,2=B,…)
出口參數:
若功能調用失敗,AX=0FFFFH,否則,
AX=每簇的扇區數
BX=可用的簇數
CX=物理扇區的大小(字節數)
DX=驅動器中的簇數
7、功能54H
功能描述:讀取校驗標誌
入口參數:
AH=54H
出口參數:
AL=當前檢驗標誌值:
00H—關檢驗,
01H—開檢驗
3CH —創建文件
3DH —打開文件
3EH —關閉文件
41H —刪除文件
43H —讀取/設置文件屬性
45H —複製文件句柄
46H —重定義文件句柄
4EH —查找到第一個文件
4FH —查找下一個文件
56H — 文件換名
57H —讀取/設置文件的日期和時間
5AH —創建臨時文件
5BH —創建新文件
67H —設置文件句柄數(最多文件數)
6CH —擴展的打開文件功能(打開、創建或替換文件)
1、功能3CH
功能描述:用指定的文件名創建一個新文件。如果指定的文件已存在,則設置其長度爲0。創建後,該文件是打開的,並返回其句柄
入口參數:
AH=3CH
DS:DX=指定文件名字符串的地址(以0爲字符串的結束標誌)
CX=文件屬性(這些標誌位可以組合) 位0=1——只讀
位2=1——系統
位5=1——歸檔
位1=1——隱含
位3=1——卷標號
其它位保留不用,並置爲0
出口參數:
CF=0——創建成功,AX=文件句柄,
否則,AX=錯誤號(03H、04H或05H),其含義見錯誤代碼表
2、功能3DH
功能描述:打開指定的驅動器、路徑和文件名,並返回其文件句柄
入口參數:
AH=3DH
DS:DX=表明文件的字符串(以0爲字符串的結束標誌)
AL爲打開方式:
位0~2
000—只讀方式
001—寫方式
010—讀/寫方式
位3保留,其值爲0
位4~6共享模式
000—兼容模式
001—不共享
010—拒絕寫
011—拒絕讀
100—不拒絕任何操作
位7繼承標誌——0/1:子進程繼承或不繼承句柄
出口參數:
CF=0——打開成功,AX=文件句柄,
否則,AX=錯誤號(02H、03H、04H、05H或0CH),其含義見錯誤代碼表
3、功能3EH
功能描述:關閉指定句柄的文件
入口參數:
AH=3EH
BX=文件句柄
出口參數:
CF=0——關閉成功,
否則,AX=錯誤號(06H),其含義見錯誤代碼表
4、功能41H
功能描述:刪除指定的文件
入口參數:
AH=41H
DS:DX=文件名字符串的地址
出口參數:
CF=0——刪除成功,
否則,AX=錯誤號(02H、03H或05H),其含義見錯誤代碼表
5、功能43H
功能描述:讀取或設置指定文件的屬性
入口參數:
AH=43H
BX=文件句柄
DS:DX=文件名字符串的地址
AL=00H/01H——讀取/設置文件屬性
CX=文件屬性:
位0=1——只讀
位1=1——隱含
位2=1——系統
位3=1——卷標號
位5=1——歸檔其它位保留不用,並置爲0
出口參數:
CF=0——關閉成功,CX=文件屬性,
否則,AX=錯誤號(01H、02H、03H或05H),其含義見錯誤代碼表
6、功能45H
功能描述:複製當前打開設備或文件的句柄,該句柄對應同樣設備或文件的相同位置
入口參數:
AH=45H
BX=待複製的文件句柄
出口參數:
CF=0——複製成功,AX=新句柄,
否則,AX=錯誤號(04H或06H),其含義見錯誤代碼表
7、功能46H
功能描述:指定二個句柄,把第二句柄指向第一個句柄,即第二個句柄被重定向
入口參數:
AH=46H
BX=文件或設備的句柄
CX=待重定向的文件句柄
出口參數:
CF=0——重定向成功,
否則,AX=錯誤號(04H或06H),其含義見錯誤代碼表
8、功能4EH
功能描述:獲取第一個與給定的文件名相匹配的文件
入口參數:
AH=4EH
DS:DX=給定文件名的字符串
CX=搜索時使用的文件屬性:
位0=1——只讀
位1=1——隱含
位2=1——系統
位3=1——卷標號
位4=1——目錄
位5=1——歸檔
其它位保留不用,並置爲0
出口參數:
CF=1——操作失敗,AX=錯誤號(02H、03H或12H),其含義見錯誤代碼表,
否則,操作成功,DTA(Disk Transfer
Area)按下列方式填入數據: 字節00~14H保留
字節15H匹配的文件屬性
字節16~17H壓縮的文件名
字節18~19H壓縮的文件日期
字節1A~1DH文件大小
字節1E~2AH文件名字符串
9、功能4FH
功能描述:在中斷21H的功能4EH成功使用之後,再搜索下一個文件名
入口參數:
AH=4FH
AL=返回的代碼
出口參數:
CF=1——操作失敗,AX=錯誤號(12H),其含義見錯誤代碼表,
否則,操作成功,DTA中的數據如前面功能4EH所示
10、功能56H
功能描述:文件換名
入口參數:
AH=56H
DS:DX=當前文件名字符串地址
ES:DI=新文件名字符串地址
出口參數:
CF=0——操作成功,
否則,AX=錯誤號(02H、03H、05H、11H),其含義見錯誤代碼表
11、功能57H
功能描述:讀取/設置文件的日期和時間
入口參數:
AH=57H
BX=文件句柄 讀取日期和時間AL=00H
設置日期和時間AL=01H
CX=時間
(0F~0BH:小時,
0AH~05H:分鐘,
04H~00H:2秒的個數)
DX=日期
(0F~09H:年(相對1980年),
08H~05H:月,
04H~00H:日)
出口參數:
CF=1——操作失敗,
AX=錯誤號(01H、06H),其含義見錯誤代碼表,
否則,若是讀文件信息,則,CX=時間,DX=日期
12、功能5AH
功能描述:創建臨時文件
入口參數:
AH=5AH
DS:DX=路徑名的地址
CX=文件屬性(位可組合),其定義如下:
位0=1 只讀
位3-4=0 保留
位1=1 隱含
位5=1 歸檔
位2=1 系統
位6-15=0 保留
出口參數:
CF=0——操作成功,
AX=文件句柄,
DS:DX=完整的路徑文件地址,
否則,AX=錯誤號(03H、04H或05H),其含義見錯誤代碼表
13、功能5BH
功能描述:創建新文件
入口參數:
AH=5BH
DS:DX=路徑名的地址
CX=文件屬性(位可組合),其定義如下:
位0=1只讀
位4=0保留
位1=1隱含
位5=1歸檔
位2=1系統
位6-15=0保留
位3=1卷標號
出口參數:
CF=0——操作成功,
AX=文件句柄,
否則,AX=錯誤號(03H、04H、05H或50H),其含義見錯誤代碼表
14、功能67H
功能描述:設置文件句柄數(最多文件數)
入口參數:
AH=67H
BX=句柄的數量
出口參數:
CF=0——操作成功,
否則,AX=錯誤號,其含義見錯誤代碼表
15、功能6CH
功能描述:擴展的打開文件功能(打開、創建或替換文件)
入口參數:
AH=6CH
AL=00H
DS:SI=路徑名的地址
BX=打開方式
位2~0
000—只讀
001—只寫
010—可讀、寫
位3保留(0)
位6~4
000—兼容
001—拒絕讀寫
010——拒絕寫
011—拒絕讀
100——不拒絕任何操作
位7
0—子進程繼承句柄,
1—子進程不繼承句柄
位12~8保留(0)
位13致命錯誤處理程序,0—執行INT 24H,否則,返回錯誤代碼給進程
位14寫入方式:
0—寫入緩衝區,
1—直接寫入文件
位15保留(0)
CX=文件屬性
位0=1 只讀
位4=0 保留
位1=1 隱含
位5=1 歸檔
位2=1 系統
位6-15=0 保留
位3=1 卷標籤
DX=打開標誌
位3~0
0—打開失敗,
1—打開文件,
2—替換文件
位7~4
0—打開失敗,
1—創建文件
位15~8
0—保留
出口參數:
CF=1——操作失敗,AX=錯誤號,其含義見錯誤代碼表,否則,
AX=文件句柄
CX=1——文件存在,打開之
=2——文件不存在,創建之