字元功能
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——檔案不存在,建立之