BIOS和DOS中斷大全集錦

DOS 與BIOS就好比母子關係,有聯繫但又相對獨立。DOS是所有軟件及平臺的基礎,而BIOS只是DOS的一個簡單運用罷了。要了解BIOS,你首先就要掌握DOS知識。以下是小編爲大家搜索整理的BIOS和DOS中斷大全,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試!

BIOS和DOS中斷大全集錦

  中斷INT 21H :

1、字符功能調用類(Character-Oriented Function)

01H、07H和08H —從標準輸入設備輸入字符

02H —字符輸出

03H —輔助設備的輸入

04H —輔助設備的輸出

05H —打印輸出

06H —控制檯輸入/輸出

09H —顯示字符串

0AH — 鍵盤緩衝輸入

0BH —檢測輸入狀態

0CH —清輸入緩衝區的輸入功能

(1)、功能01H、07H和08H

功能描述:從標準輸入設備(如:鍵盤)讀入一個字符。該中斷在處理過程中將一直處於等待狀態直到有字符可讀爲止。該輸入還可被重定向,如果這樣做,則無法判斷文件是否已到文件尾

入口參數:AH=01H,過濾掉控制字符,並回顯

=07H,不過濾掉控制字符,不回顯

=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碼

2、目錄控制功能(Directory-Control Function)

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),其含義見錯誤代碼表

3、磁盤管理功能(Disk-Management Function)

0DH —磁盤復位 2EH —設置校驗標誌

0EH —選擇磁盤36H —讀取驅動器分配信息

19H —讀取當前驅動器54H —讀取校驗標誌

1BH, 1CH —讀取驅動器數據

(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—開檢驗

4、文件操作功能(File Operation Function)

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~2000—只讀方式  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~0000—只讀  001—只寫  010—可讀、寫

位3保留(0)

位6~4000—兼容   001—拒絕讀寫  010——拒絕寫

011—拒絕讀  100——不拒絕任何操作

位70—子進程繼承句柄,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——文件不存在,創建之

5、文件操作功能(FCB)(File Operation Function)

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地址

6、記錄操作功能(Record Function)

1AH —設置數據傳輸區地址42H —設置文件指針

2FH —讀取數據傳輸區地址5CH —文件區域加鎖或解鎖

3FH —讀文件或設備68H —提交文件緩衝區數據

40H —寫文件或設備

(2)、功能2FH

功能描述:爲FCB讀/寫操作而獲取DTA的當前地址

入口參數:AH=2FH

出口參數:ES:BX=DTA的段地址和偏移量

(3)、功能3FH

功能描述:從先前打開的文件中讀出指定數目的字節,並移動文件指針

入口參數:AH=3FH

BX=文件句柄

CX=將要讀出的字節數

DS:DX=存放字符的緩衝區地址

出口參數:CF=0——讀取成功,AX=讀取的字符數,否則,AX=錯誤號(05H或06H),其含義見錯誤代碼表

(4)、功能40H

功能描述:向先前打開的文件寫入指定數量的字節,並相應修改文件指針

入口參數:AH=40H

BX=文件句柄

CX=寫入的字節數

DS:DX=存放數據的緩衝區地址

出口參數:CF=0——關閉成功,AX=寫入的字節數,否則,AX=錯誤號(05H或06H),其含義見錯誤代碼表

(5)、功能42H

功能描述:設置文件指針的相對位置(相對與文件頭、文件尾和當前位置)

入口參數:AH=42H

BX=文件句柄

CX=偏移量的高位

DX=偏移量的低位

AL=00H——從文件頭開始的絕對偏移量

=01H——從當前文件指針開始的偏移量(可帶符號)

=02H——從文件尾開始的偏移量(可帶符號)

出口參數:CF=0——設置成功,DX是指針的高位,AX是其低位,否則,AX=錯誤號(01H和06H),其含義見錯誤代碼表。

(6)、功能5CH

功能描述:文件區域加鎖或解鎖

入口參數:AH=5CH

AL=00H——區域加鎖  01H——區域解鎖

BX=文件句柄

CX:DX=區域偏移量

SI:DI=區域長度

DS:DX=路徑名的地址

出口參數:CF=0——操作成功,否則,AX=錯誤號(01H、06H、21H或24H),其含義見錯誤代碼表

(7)、功能68H

功能描述:提交文件緩衝區數據

入口參數:AH=68H

BX=文件句柄

出口參數:CF=0——操作成功,否則,AX=錯誤號,其含義見錯誤代碼表

7、記錄操作功能(FCB)(Record Function)

14H —順序讀24H —設置相對記錄數

15H —順序寫27H —隨機讀塊

21H —隨機讀28H —隨機寫塊

22H —隨機寫

(1)、功能14H

功能描述:從文件中讀出下一個順序塊,並相應增加文件的指針

入口參數:AH=14H

DS:DX=先前打開文件控制塊的地址

出口參數:AL=00H——讀取成功  01H——文件尾

02H——段纏繞   03H——部分記錄在文件尾

(2)、功能15H

功能描述:向文件寫入下一個順序數據塊,並相應增加文件的指針

入口參數:AH=15H

DS:DX=先前打開文件控制塊的地址

出口參數:AL=00H——寫入成功  01H——磁盤滿  02H——段纏繞

(3)、功能21H

功能描述:從文件中讀出當前選定的記錄

入口參數:AH=21H

DS:DX=先前打開文件控制塊的地址

出口參數:AL=00H——讀取成功   01H——文件尾

02H——取消讀操作  03H——部分記錄在文件尾

(4)、功能22H

功能描述:把內存中的數據寫入在文件中當前選定的記錄

入口參數:AH=22H

DS:DX=先前打開文件控制塊的地址

出口參數:AL=00H—寫入成功  01H—磁盤滿  02H—取消寫操作

(5)、功能24H

功能描述:設置FCB中相對記錄數作爲被打開FCB中的記錄數

入口參數:AH=24H

DS:DX=先前打開文件控制塊的地址

出口參數:AL的值被破壞,其它寄存器不受影響,FCB中偏移量21H單元被修改

(6)、功能27H

功能描述:從文件中讀出若干個記錄到內存中

入口參數:AH=27H

DS:DX=先前打開文件控制塊的地址

出口參數:AL=00H——讀取成功   01H——文件尾

02H——取消讀操作  03H——部分記錄在文件尾

CX=實際讀出的記錄數

(7)、功能28H

功能描述:從內存向文件中寫入若干個記錄

入口參數:AH=28H

CX=要寫入的記錄數

DS:DX=先前打開文件控制塊的地址

出口參數:AL=00H——寫入成功  01H——磁盤滿  02H——段纏繞

CX=實際寫入的記錄數

8、內存分配功能(Memory-Allocation Function)

48H —分配內存塊

49H —釋放內存塊

4AH —重定義內存塊的大小

58H —讀取/設置內存分配策略

(1)、功能48H

功能描述:分配一塊內存單元,並返回該塊內存單元的首地址

入口參數:AH=48H

BX=需要申請的內存單元字節數

出口參數:CF=0——分配成功,AX=存儲單元的首地址,否則,AX=錯誤號(07H或08H),其含義見錯誤代碼表,BX=還可用的最大塊數

(2)、功能49H

功能描述:釋放內存單元塊以便爲其它程序使用

入口參數:AH=49H

ES=被申請塊的段地址

出口參數:CF=0——釋放成功,否則,AX=錯誤號(07H或09H),其含義見錯誤代碼表

(3)、功能4AH

功能描述:根據程序的需要,動態地改變一個內存塊

入口參數:AH=4AH

BX=需要一個新存儲塊的大小

ES=被修改塊的段地址

出口參數:CF=0——修改成功,否則,AX=錯誤號(07H、08H或09H),其含義見錯誤代碼表,BX=可用最大塊的大小

(4)、功能58H

功能描述:讀取/設置內存分配策略

入口參數:AH=58H 讀取內存分配策略AL=00H

設置內存分配策略AL=01H

BX=內存分配策略代碼:

00H—第一滿足

01H—最好滿足

02H—最後滿足

出口參數:CF=0——操作成功,AX=已選用的內存分配策略代碼(含義如上說明),否則,AX=錯誤號(01H),其含義見錯誤代碼表

9、系統功能(System Function)

25H —設置中斷向量

30H —讀取MS-DOS版本號

33H —讀取/設置Break標誌

34H —讀取InDOS標誌的地址

35H —讀取中斷向量

38H —讀取/設置國家信息

44H —IOCTL(I/O控制)

50H —設置程序段前綴(PSP)地址

51H —讀取程序段前綴(PSP)地址

59H —讀取擴展的錯誤信息

5EH —讀取機器名,讀取/設置打印機配置

5FH —設備重定向

63H —讀取前導字節表

65H —讀取擴展的國家信息

66H —讀取/設置代碼頁

5D0AH —設置擴展的錯誤信息

(1)、功能25H

功能描述:設置中斷向量表

入口參數:AH=中斷號

DS:DX=中斷處理程序的入口地址

出口參數:無

(2)、功能30H

功能描述:取MS-DOS操作系統的版本號

入口參數:AH=30H

出口參數:AL=0——V 1.0;對其它高版本有:AL=主要版本號

AH=次版本號(MS-DOS 3.1=0AH,...)

BH=OEM的序列號(Original Equipment Manufacturer)

BL:CX=24位用戶序列號

(3)、功能33H

功能描述:獲得或改變操作系統中斷的狀態。在功能調用期間,將影響^C的檢測

入口參數:AH=33H

AL=00H——取狀態

=01H——設置狀態,DL=00/01表示置該狀態OFF/ON

出口參數:取狀態時,DL=00/01——分別表示OFF/ON

說明:

1、若AL中存入其它的功能號,則返回時,AL的值爲0FFH;

2、若置AL爲5,則啓動驅動器號返回在DL中(1-A,2-B,…)

(4)、功能34H

功能描述:獲得InDos標誌的遠地址,它由DOS維護表示DOS時活躍的

入口參數:AH=34H

出口參數:ES:BX=InDos標誌的遠地址

若該單元值爲1,表示DOS功能在執行,否則,則不是。

(5)、功能35H

功能描述:取指定中斷號的入口地址

入口參數:AH=35H

AL=中斷號

出口參數:ES:BX=中斷處理程序的入口地址

(6)、功能38H

功能描述:讀取或設置國家信息

入口參數:AH=38H 當讀取國家信息時

DS:DX=存放返回信息的地址

AL=0——取當前國家信息

AL=1~0FEH——取國家代碼小於255的國家信息

AL=0FFH——取代碼大於等於255的國家信息,BX=國家代碼

設置國家信息時

DX=0FFFFH

AL=0~0FEH——設置國家代碼小於255的國家信息

AL=0FFH——置代碼大於等於255的國家信息,BX=國家代碼

出口參數:CF=0——調用成功,BX=國家代碼,否則。AX=錯誤代碼(02H),其含義見錯誤代碼表 說明國家信息如下所示:

字節0-1H:日期格式:0—mdy、1—dmy、2—ymd

字節2-6H:貨幣字符

字節7-8H:數值千位分割符

字節9-0AH:數值精度分割符

字節0B-0CH:日期間隔符

字節0D-0EH:時間間隔符

字節0FH:貨幣格式

位0=0——貨幣符號在前,否則,貨幣符號在後

位1=0——貨幣符號和數據之間無空格,否則,二者之間有一個空格

位2=0——貨幣符號和小數點分開,否則,貨幣符號代替小數點

字節10H:貨幣的小數位數

字節11H:時間格式。位0=0—12小時制,否則,24小時制

字節12~15H:Case-Map調用地址

字節16~17H:字符串分割符

字節18~21H:保留

(7)、功能44H

功能描述:輸入/輸出控制,其子功能描述:

00H—取設備信息01H—取設備信息

02H—從字符設備驅動器接受控制數據03H—發送控制數據到字符設備驅動器

04H—從塊設備驅動器接受控制數據 05H—發送控制數據到塊設備驅動器

06H—檢查輸入狀態07H—檢查輸出狀態

08H—檢查塊設備是否爲可拆卸設備09H—檢查設備是否爲遠程設備

0AH—檢查句柄是否爲遠程對象0BH—改變共享訪問入口數

0CH—字符設備的一般I/O控制信息0DH—塊設備的一般I/O控制信息

0EH—讀取邏輯驅動器映射關係0FH—設置邏輯驅動器映射關係

說明:輸入/輸出子功能中的00H、06H和07H僅針對文件句柄,子功能00H~ 08H不支持網絡設備。

(8)、功能50H

功能描述:設置程序段前綴(PSP)地址

入口參數:AH=50H

BX=新的PSP地址

出口參數:無

(9)、功能51H

功能描述:讀取程序段前綴(PSP)地址

入口參數:AH=51H

出口參數:BX=PSP地址

(10)、功能59H

功能描述:讀取擴展的錯誤信息

入口參數:AH=59H

BX=00H

出口參數:AX=擴展的錯誤代碼,其含義見錯誤代碼表

BH=錯誤類型,其定義如下: 01h—資源短缺02h—處於臨時狀態而非錯誤

03h—權限問題04h—系統軟件內部錯誤

05h—硬件失敗06h—系統軟件失敗,但不是活躍進程失敗

07h—應用程序錯08h—文件或數據項未發現

09h—文件或數據項類型或格式錯0Ah—文件或數據項相互加鎖

0Bh—驅動器中壞磁盤,磁盤中壞區域或存儲問題

0Ch—其它錯誤

BL=建議採用的措施,其定義如下:

01h — 重試若干次後,再選"終止"或"忽略"

02h — 重試若干次(二次之間要等待)後,再選"終止"或"忽略"

03h — 從用戶獲取正確的信息

04h — 終止應用程序,並清除其所使用資源

05h — 立即終止程序,但沒有清除其資源

06h — 忽略錯誤

07h — 消除錯誤原因,再重試

CH=錯誤地點,其定義如下:

01h — 不知道

02h — 塊設備(磁盤或磁盤模擬器)

03h — 網絡

04h — 串行設備

05h — 內存

ES:DI=插入磁盤標籤的字符串,若AX=0022h(非法改變磁盤)

(11)、功能5EH

功能描述:讀取機器名,讀取/設置打印機配置 子功能號功能描述

00h讀取機器名

02h設置打印機安裝字符串

03h讀取打印機安裝字符串

①、子功能1

入口參數:AH=5EH

AL=00H

DS:DX=接受字符串緩衝區的地址

出口參數:CF=1——操作失敗,AX=錯誤號(01H),其含義見錯誤代碼表,否則,

CH=00H——機器名未定義,否則,機器名已定義

CL=NetBIOS名稱號(當CH≠00H時)

DS:DX=標識符地址(當CH≠00H時)

②、子功能2

入口參數:AH=5EH

AL=02H

BX=重定向列表索引

CX=安裝字符串的長度

DS:SI=安裝字符串的地址

出口參數:CF=0——操作成功,否則,AX=錯誤號(01H),其含義見錯誤代碼表

③、子功能3

入口參數:AH=5EH

AL=03H

BX=重定向列表索引

ES:DI=接受字符串緩衝區的地址

出口參數:CF=0——操作成功,CX=接受字符串的長度,否則,AX=錯誤號(01H),其含義見錯誤代碼表

(12)、功能5FH

功能描述:設備重定向 子功能號功能描述

02h讀取重定向列表索引

03h重定向設備

①、子功能1

入口參數:AH=5FH

AL=02H

BX=重定向列表索引

DS:SI=接受本地設備名的16字節存儲區地址

ES:DI=接受網絡名的128字節存儲區地址

出口參數:CF=1——操作失敗,AX=錯誤號(01H或12H),其含義見錯誤代碼表,否則,BH位0=0H——設備合法,否則,設備非法

BL=設備類型——03H:打印機,04H:驅動器

CX=存儲參數值

DX=被破壞

BP=被破壞

DS:SI=存放本地設備名的地址

ES:DI=存放網絡名的地址

②、子功能2

入口參數:AH=5FH

AL=03H

BL=設備類型——03H:打印機,04H:驅動器

CX=調用者保存的參數

DS:SI=本地設備名的16字節存儲區地址

ES:DI=網絡名的128字節存儲區地址,緊跟其後是密碼

出口參數:CF=0——操作成功,否則,AX=錯誤號(01H、03H、05H、08H、0FH或12H),其含義見錯誤代碼表

(13)、功能63H

功能描述:讀取前導字節表

入口參數:AH=63H AL=子功能

=00H—讀取系統前導字節表地址

=01H—設置/清除臨時控制檯標誌(DL=00H/01H—清除/設置標誌)

=02H—讀取臨時控制檯標誌值

出口參數:BX=1——操作失敗,AX=錯誤號(01H),其含義見錯誤代碼表,否則,調用時,

若AL=00H,則,DS:SI=系統前導字節表地址;

若AL=02H,則,DL=臨時控制檯標誌值

(14)、功能65H

功能描述:讀取擴展的國家信息

入口參數:AH=65H

BX=代碼頁(-1=活躍的CON設備)

CX=接受信息的緩衝區大小

DX=國家標識(-1=缺省)

ES:DI=接受信息的緩衝區地址 AL=子功能

=01H——讀取一般的國家信息

=02H——讀取指向大寫字母表的指針

=04H——讀取指向文件名大寫字母表的指針

=06H——讀取指向校對錶的指針

=07H——讀取指向DBCS向量的指針

出口參數:CF=0——操作成功,需要的數據存入調用的緩衝區,否則,AX=錯誤號(02H),其含義見錯誤代碼表

(15)、功能66H

功能描述:讀取/設置代碼頁

入口參數:AH=66H

AL=子功能號:01H——讀取代碼頁,02H——選擇代碼頁

BX=選擇的代碼頁(當AL=02H)

出口參數:CF=0——操作成功,當調用子功能01H時,BX=活躍的代碼頁,DX=缺省的代碼頁,否則,AX=錯誤號(02H或65H),其含義見錯誤代碼表

(16)、功能5D0AH

功能描述:設置擴展的錯誤信息

入口參數:AX=5D0AH

DS:DX=擴展錯誤結構的地址,該結構的說明如下: EXTEND_ERR STRUCT

RAx WORD ? ;AX

RBx WORD ? ;BX

RCx WORD ? ; CX

RDx WORD ? ; DX

RSi WORD ? ; SI

RDi WORD ? ; DI

RDs WORD ? ; DS

REs WORD ? ; ES

Pad WORD 3 DUP(0)

EXTEND_ERRENDS

出口參數:無

10、進程控制功能(Process-Control Function)

00H —終止進程

26H —創建新的程序段前綴(PSP)

31H —終止並駐留

4BH —執行程序(EXEC)

4CH —帶返回碼方式的終止進程

4DH —讀取返回代碼

62H —讀取PSP地址

(1)、功能00H

功能描述:終止進程。這是程序可以使用的終止進程的方法之一

入口參數:AH=00H

CS=代碼段地址

出口參數:無

(2)、功能26H

功能描述:把當前正在執行程序的程序段前綴(PSP)拷貝到內存中的指定地址中,並可改變其爲其它程序所使用

入口參數:AH=26H

DX=新程序段前綴的段地址

出口參數:無

(3)、功能31H

功能描述:終止程序的運行,傳遞一個返回代碼給其父進程,但該程序部分或全部駐留在內存中

入口參數:AH=31H

AL=返回代碼號

DX=駐留在內存中的字節數

出口參數:無

(4)、功能4BH

功能描述:執行程序(EXEC)

入口參數:AH=4BH

ES:BX=參數塊的地址

DS:DX=程序的入口地址

AL=00H——裝入並執行程序,03H——以覆蓋的形式裝入

出口參數:CF=0——操作成功,除CS和IP之外,其它寄存器的值都被破壞,否則,AX=錯誤號(01H、02H、03H、05H、08H、0AH或0BH),其含義見錯誤代碼表

(5)、功能4CH

功能描述:終止程序的執行,並可返回一個代碼

入口參數:AH=4CH

AL=返回的代碼

出口參數:無

(6)、功能4DH

功能描述:父進程獲取子進程的返回代碼

入口參數:AH=4DH

出口參數:AH=00H——用中斷20H、中斷21H的功能0或4C正常終止

=01H——用戶按^C終止

=02H——因致命錯誤而終止

=03H——用中斷21H的功能31H,或中斷27H終止

AL=子進程的返回碼:00H——子進程由中斷20H、中斷21H的功能0或4C終止

(7)、功能62H

功能描述:讀取PSP地址

入口參數:AH=62H

出口參數:BX=PSP的偏移量

11、時間和日期功能(Time and Date Function)

2AH —讀取日期

2BH —設置日期

2CH —讀取時間

2DH —設置時間

(1)、功能2AH

功能描述:取系統日期

入口參數:AH=2AH

出口參數:CX=年(1980~2099),DH=月(1~12),DL=日(1~31)

AL=星期幾(0=Sunday,1=Monday,...)

(2)、功能2BH

功能描述:置系統日期

入口參數:AH=2BH

CX=年(1980~2099),DH=月(1~12),DL=日(1~31)

出口參數:AL=00H——設置成功,0FFH——設置失敗

(3)、功能2CH

功能描述:取系統時間

入口參數:AH=2CH

出口參數:CH=時(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99)

(4)、功能2DH

功能描述:置系統時間

入口參數:AH=2DH

CH=時(0~23),CL=分(0~59),DL=秒(0~59),AL=百分秒(0~99)

出口參數:出口參數:AL=00H——設置成功,0FFH——設置失敗

2、鼠標功能中斷INT 33H

00H —初始化鼠標

01H —顯示鼠標指針

02H —隱藏鼠標指針

03H —讀取鼠標位置及其按鈕狀態

04H —設置鼠標指針位置

05H —讀取鼠標按鍵信息

06H —讀取鼠標按鈕釋放信息

07H —設置鼠標水平邊界

08H —設置鼠標垂直邊界

09H —設置圖形鼠標形狀

0AH —設置本文鼠標形狀

0BH —讀取鼠標移動計數

0CH —爲鼠標事件設置處理程序

0DH —允許光筆仿真

0EH —關閉光筆仿真

0FH —設置鼠標計數與象素比

10H —設置鼠標指針隱藏區域

13H —設置倍速的閾值

14H —替換鼠標事件中斷

15H —讀取鼠標驅動器狀態的緩衝區大小

16H —存儲鼠標驅動器狀態

17H —重裝鼠標驅動器狀態

18H —爲鼠標事件設置替換處理程序

19H —讀取替換處理程序的地址

1AH —設置鼠標的靈敏度

1BH —讀取鼠標的靈敏度

1CH —設置鼠標中斷速率

1DH —爲鼠標指針選擇顯示頁

1EH —讀取鼠標指針的顯示頁

1FH —禁止鼠標驅動程序

20H —啓動鼠標驅動程序

21H —鼠標驅動程序復位

22H —設置鼠標驅動程序信息語言

23H —讀取語種

24H —讀取鼠標信息

25H —讀取鼠標驅動程序信息

26H —讀取最大有效座標

(1)、功能00H

功能描述:初始化鼠標,該操作只需要執行一次

入口參數:AX=00H

出口參數:AX=0000H——不支持鼠標功能,FFFFH——支持鼠標功能

BX=鼠標按鈕個數(在支持鼠標功能時)

在支持鼠標功能的情況下,鼠標還被設置如下參數: 1、鼠標指針放在屏幕中央

2、如果當前鼠標指針是顯示的,則操作後,鼠標指針被隱藏

3、鼠標指針的顯示頁爲0

4、根據屏幕的顯示模式顯示鼠標指針:文本—反向顯示矩形塊,圖形—尖頭形狀

5、水平象素比=8:8,垂直象素比=16:8

6、設置水平和垂直的顯示邊界爲當前顯示模式的最大邊界

7、允許光筆仿真

8、雙速門檻值=64

(2)、功能01H

功能描述:顯示鼠標指針,通常在鼠標初始化後,用此功能顯示其指針

入口參數:AX=01H

出口參數:無

(3)、功能02H

功能描述:隱藏鼠標指針,一般在程序結束時,調用此功能

入口參數:AX=02H

出口參數:無

(4)、功能03H

功能描述:讀取鼠標位置及其按鈕狀態

入口參數:AX=03H

出口參數:BX=按鍵狀態:位0=1——按下左鍵

位1=1——按下右鍵

位2=1——按下中鍵

其它位——保留,內部使用

CX=水平位置

DX=垂直位置

(5)、功能04H

功能描述:設置鼠標指針位置

入口參數:AX=04H,CX=水平位置,DX=垂直位置

出口參數:無

(6)、功能05H

功能描述:讀取鼠標按鍵信息

入口參數:AX=05H,BX=指定的'按鍵:0—左鍵,1—右鍵,2—中鍵

出口參數:AX=按鍵狀態,參見功能3H中BX的說明

BX=按鍵次數

CX=水平位置(最後按鍵時)

DX=垂直位置(最後按鍵時)

(7)、功能06H

功能描述:讀取鼠標按鈕釋放信息

入口參數:AX=06H,BX=指定的按鍵:0—左鍵,1—右鍵,2—中鍵

出口參數:AX=按鍵狀態,參見功能3H中BX的說明

BX=釋放的次數

CX=水平位置(最後釋放時)

DX=垂直位置(最後釋放時)

(8)、功能07H

功能描述:設置鼠標水平邊界

入口參數:AX=07H

CX=最小水平位置

DX=最大水平位置

出口參數:無,鼠標有可能因新區域變小而自動移進新區域內

(9)、功能08H

功能描述:設置鼠標垂直邊界

入口參數:AX=08H

CX=最小垂直位置

DX=最大垂直位置

出口參數:無,鼠標有可能因新區域變小而自動移進新區域內

(10)、功能09H

功能描述:設置圖形鼠標形狀

入口參數:AX=09H

BX=指針的水平位置

CX=指針的垂直位置

ES:DX=16×16位光標的映象地址 參數說明:(BX,CX)是鼠標的指針在16×16點陣中的位置,(0,0)是左上角;

ES:DX指向的存儲單元內存放16×16點陣的位映象隱碼,緊跟其後的是16×16點陣的光標掩碼。

鼠標指針的顯示方法:位映象隱碼“邏輯與”上屏幕顯示區的內容,然後再用光標掩碼內容“異或”前面運算的結果。

出口參數:無

(11)、功能0AH

功能描述:設置本文鼠標形狀

入口參數:AX=0AH

BX=光標類型: 0 —CX和DX的各位含義如下: 位7~0鼠標指針符號

位10~8字符前景色

位11亮度

位14~12字符背景色

位15閃爍

1 —CX=光標的起始掃描線

DX=光標的結束掃描線

出口參數:無

(12)、功能0BH

功能描述:讀取鼠標移動計數

入口參數:AX=0BH

出口參數:CX=水平移動距離:正數——向右移,負數——向左移

DX=垂直移動距離:正數——向下移,負數——向上移

(13)、功能0CH

功能描述:爲鼠標事件設置處理程序

入口參數:AX=0CH

CX=中斷掩碼 位0=1——鼠標指針位置發送變化

位1=1——按下左按鈕

位2=1——釋放左按鈕

位3=1——按下右按鈕

位4=1——釋放右按鈕

位5=1——按下中間按鈕

位6=1——釋放中間按鈕

位7~15=0——保留

ES:DX=中斷處理程序的地址

在進入中斷處理程序時,有關寄存器的值含義:

AX=中斷掩碼

BX=按鍵狀態

CX=鼠標指針的水平位置

DX=鼠標指針的垂直位置

SI=水平位置的變化量

DI=垂直位置的變化量

出口參數:無

(14)、功能0DH

功能描述:允許光筆仿真

入口參數:AX=0DH

出口參數:無

(15)、功能0EH

功能描述:關閉光筆仿真

入口參數:AX=0EH

出口參數:無

(16)、功能0FH

功能描述:設置鼠標計數與象素比

入口參數:AX=0FH

CX=水平比例

DX=垂直比例

出口參數:無

(17)、功能10H

功能描述:設置鼠標指針隱藏區域

入口參數:AX=10H

CX=左上角X座標

DX=左上角Y座標

SI=右下角X座標

DI=右下角Y座標

出口參數:無

(18)、功能13H

功能描述:設置倍速的閾值,其缺省值爲64

入口參數:AX=13H

DX=閥值

出口參數:無

(19)、功能14H

功能描述:替換鼠標事件中斷

入口參數:AX=14H

CX=中斷掩碼

ES:DX=中斷處理程序的地址

出口參數:CX=舊的中斷掩碼

ES:DX=舊的中斷處理程序地址

(20)、功能15H

功能描述:讀取鼠標驅動器狀態的緩衝區大小

入口參數:AX=15H

出口參數:BX=存放鼠標驅動器狀態所需緩衝區的大小

(21)、功能16H

功能描述:存儲鼠標驅動器狀態

入口參數:AX=16H

ES:DX=存儲鼠標驅動器狀態的地址

出口參數:無

(22)、功能17H

功能描述:重裝鼠標驅動器狀態

入口參數:AX=17H

ES:DX=鼠標驅動器狀態的地址

出口參數:無

(23)、功能18H

功能描述:爲鼠標事件設置可選的處理程序

入口參數:AX=18H

CX=替換中斷掩碼

ES:DX=替換中斷處理程序的地址

CF=0

出口參數:無

(24)、功能19H

功能描述:讀取替換處理程序的地址

入口參數:AX=19H

CX=替換中斷掩碼

出口參數:若AX=-1——不成功,否則,ES:DX=中斷處理程序的地址

(25)、功能1AH

功能描述:設置鼠標的靈敏度,其取值1~100

入口參數:AX=1AH

BX=水平靈敏度(每8個象素鼠標需要移動的數量,一般爲8)

CX=垂直靈敏度(每8個象素鼠標需要移動的數量,一般爲16)

DX=倍速閥值

出口參數:無

(26)、功能1BH

功能描述:讀取鼠標的靈敏度

入口參數:AX=1BH

出口參數:BX=水平靈敏度

CX=垂直靈敏度

DX=倍速閥值

(27)、功能1CH

功能描述:設置鼠標中斷速率

入口參數:AX=1CH

BX=每秒鐘中斷的次數:0—關中斷,1—30/S,2—50/S,3—100/S,4—200/S

出口參數:無

(28)、功能1DH

功能描述:爲鼠標指針選擇顯示頁

入口參數:AX=1DH

BX=顯示頁

出口參數:無

(29)、功能1EH

功能描述:讀取鼠標指針的顯示頁

入口參數:AX=1EH

出口參數:BX=顯示頁

(30)、功能1FH

功能描述:禁止鼠標驅動程序

入口參數:AX=1FH

出口參數:若AX=-1——不成功,否則,ES:BX=鼠標驅動程序的地址

(31)、功能20H

功能描述:啓動鼠標驅動程序

入口參數:AX=20H

出口參數:無

(32)、功能21H

功能描述:鼠標驅動程序復位

入口參數:AX=21H

出口參數:若AX=-1——不成功,否則,BX=2

(33)、功能22H

功能描述:設置鼠標驅動程序信息語言

入口參數:AX=22H

BX=語言代碼:0—英語,1—法語,2—荷蘭語,3—德語,4—瑞典語,5—芬蘭語,6—西班牙語,7—葡萄牙語,8—意大利語

出口參數:無

(34)、功能23H

功能描述:讀取語種

入口參數:AX=23H

出口參數:BX=語言代碼

(35)、功能24H

功能描述:讀取鼠標信息

入口參數:AX=24H

出口參數:BH=主版本號,BL=輔版本號

CL=中斷請求號

CH=鼠標類型:1-Bus Mouse,2-Serial Mouse,3-InPort Mouse,4-PS/2 Mouse,5-HP Mouse

(36)、功能25H

功能描述:讀取鼠標驅動程序信息

入口參數:AX=25H

出口參數: AX=鼠標驅動程序信息: 位15 ——0:驅動程序是文件,否則,爲文件

位14——0:不完全鼠標顯示驅動程序,否則,爲完全的

位13-12——00:軟件文本光標

01:硬件文本光標

1X:圖形光標

(37)、功能26H

功能描述:讀取最大有效座標

入口參數:AX=26H

出口參數:BX=鼠標驅動程序狀態

CX=最大水平座標

DX=最大垂直座標

3、其它DOS中斷

INT 20H —終止程序運行

INT 22H —終止處理程序的地址

INT 23H —Ctrl+C處理程序

INT 24H —致命錯誤處理程序

INT 25H —讀磁盤扇區(忽略邏輯結構)

INT 26H —寫磁盤扇區(忽略邏輯結構)

INT 27H —終止,並駐留在內存

INT 28H —DOS空閒

INT 2FH —多重中斷服務

(1)、中斷INT 20H

功能描述:終止當前正在運行的程序,它是幾種終止程序運行方法之一

入口參數:CS=PSP的段地址

出口參數:無

(2)、中斷INT 22H

功能描述:終止處理程序的地址,該地址在程序裝入內存運行前被放入PSP的0AH~0DH的單元內。該中斷指令從不直接書寫在程序之中

(3)、中斷INT 23H

功能描述:Ctrl+C處理程序。該中斷指令從不直接書寫在程序之中

(4)、中斷INT 24H

功能描述:致命錯誤處理程序。該中斷指令從不直接書寫在程序之中

(5)、中斷INT 25H

功能描述:絕對讀磁盤,直接從邏輯設備中讀出數據到內存單元中

入口參數:AL=驅動器號(0=A、1=B、……) 分區容量≤32M,有:CX=讀出的扇區數

DX=起始扇區數

DS:BX=存放數據緩衝區的地址

否則,有:CX=-1

DS:BX=參數塊緩衝區的地址,該參數塊的結構如下: 字節描述

00~03H32位扇區數

04~05H 將被讀出的扇區數

06~07H存放數據的緩衝區的偏移量

08~09H存放數據的緩衝區的段地址

出口參數:CF=0——操作成功,否則,AX=錯誤號,其含義見下錯誤代碼表 錯誤代碼錯誤含義

80H附件響應失敗

40H定位操作失敗

20H設備控制器失敗

10H數據錯(錯誤的CRC)

08H DMA失敗

04H需要的扇區未發現

02H錯誤的地址標誌

01H錯誤命令

(6)、INT 26H

功能描述:絕對寫磁盤,直接把內存單元中的內容寫入邏輯設備

入口參數:與前面的INT 25H相一致

出口參數:與前面的INT 25H相一致

(7)、INT 27H

功能描述:終止,並駐留在內存

入口參數:CS=PSP的段值

DX=被保護程序最後一個字節的偏移量再加1

出口參數:無

(8)、INT 28H

功能描述:DOS空閒中斷

入口參數:無

出口參數:無

(9)、INT 2FH

功能描述:多重中斷服務,允許多個駐留程序通過單箇中斷與其它進程通信。

入口參數:AH=標識號,AL=功能號,功能號及其含義如下: 功能號功能描述

01H假脫機打印

06H駐留ASSIGN命令

10H駐留SHARE命令

B7H駐留APPEND命令

出口參數:若入口AL爲0,則出口AL=0FFH,否則,其值取決於處理程序

BIOS中斷:

1、顯示服務(Video Service——INT 10H)

00H —設置顯示器模式0CH —寫圖形象素

01H —設置光標形狀0DH —讀圖形象素

02H —設置光標位置0EH —在Teletype模式下顯示字符

03H —讀取光標信息0FH —讀取顯示器模式

04H —讀取光筆位置10H —顏色

05H —設置顯示頁11H —字體

06H、07H —初始化或滾屏12H —顯示器的配置

08H —讀光標處的字符及其屬性13H —在Teletype模式下顯示字符串

09H —在光標處按指定屬性顯示字符1AH —讀取/設置顯示組合編碼

0AH —在當前光標處顯示字符1BH —讀取功能/狀態信息

0BH —設置調色板、背景色或邊框1CH —保存/恢復顯示器狀態

(1)、功能00H

功能描述:設置顯示器模式

入口參數:AH=00H

AL=顯示器模式,見下表所示

出口參數:無

可用的顯示模式如下所列:

顯示模式顯示模式屬性顯示模式顯示模式屬性

00H40×2516色 文本01H40×2516色 文本

02H80×2516色 文本03H80×2516色 文本

04H320×2004色05H320×2004色

06H640×2002色07H80×252色 文本

08H160×20016色09H320×20016色

0AH640×2004色0BH保留

0CH保留0DH320×20016色

0EH640×20016色0FH640×3502(單色)

10H640×3504色10H640×35016色

11H640×4802色12H640×48016色

13H640×480256色

對於超級VGA顯示卡,我們可用AX=4F02H和下列BX的值來設置其顯示模式。

BX顯示模式屬性BX顯示模式屬性

100H640×400256色101H640×480256色

102H800×60016色103H800×600256色

104H1024×76816色105H1024×768256色

106H1280×102416色107H1280×1024256色

108H80×60文本模式109H132×25文本模式

10AH132×43文本模式10BH132×50文本模式

10CH132×60文本模式

(2)、功能01H

功能描述:設置光標形狀

入口參數:AH=01H

CH低四位=光標的起始行

CL低四位=光標的終止行

出口參數:無

(3)、功能02H

功能描述:用文本座標下設置光標位置

入口參數:AH=02H

BH=顯示頁碼

DH=行(Y座標)

DL=列(X座標)

出口參數:無

(4)、功能03H

功能描述:在文本座標下,讀取光標各種信息

入口參數:AH=03H

BH=顯示頁碼

出口參數:CH=光標的起始行

CL=光標的終止行

DH=行(Y座標)

DL=列(X座標)

(5)、功能04H

功能描述:獲取當前狀態和光筆位置

入口參數:AH=04H

出口參數:AH=00h——光筆未按下/未觸發,01h——光筆已按下/已觸發

BX=象素列(圖形X座標)

CH=象素行(圖形Y座標,顯示模式:04H~06H)

CX=象素行(圖形Y座標,顯示模式:0DH~10H)

DH=字符行(文本Y座標)

DL=字符列(文本X座標)

(6)、功能05H

功能描述:設置顯示頁,即選擇活動的顯示頁

入口參數:AH=05H

AL=顯示頁

對於CGA、EGA、MCGA和VGA,其顯示頁如下表所列: 模式頁數顯示器類型

00H、01H0~7CGA、EGA、MCGA、VGA

02H、03H0~3CGA

02H、03H0~7EGA、MCGA、VGA

07H0~7EGA、VGA

0DH0~7EGA、VGA

0EH0~3EGA、VGA

0FH0~1EGA、VGA

10H0~1EGA、VGA

對於PCjr:

AL=80H——讀取CRT/CPU頁寄存器

81H——設置CPU頁寄存器

82H——設置CRT頁寄存器

83H——設置CRT/CPU頁寄存器

BH=CRT頁(子功能號82H和83H)

BL=CPU頁(子功能號81H和83H)

出口參數:對於前者,無出口參數,但對PCjr在子功能80H~83H調用下,有:BH=CRT頁寄存器,BL=CPU頁寄存器

(7)、功能06H和07H

功能描述:初始化屏幕或滾屏

入口參數:AH=06H——向上滾屏,07H——向下滾屏

AL=滾動行數(0——清窗口)

BH=空白區域的缺省屬性

(CH、CL)=窗口的左上角位置(Y座標,X座標)

(DH、DL)=窗口的右下角位置(Y座標,X座標)

出口參數:無

(8)、功能08H

功能描述:讀光標處的字符及其屬性

入口參數:AH=08H

BH=顯示頁碼

出口參數:AH=屬性

AL=字符

(9)、功能09H

功能描述:在當前光標處按指定屬性顯示字符

入口參數:AH=09H

AL=字符

BH=顯示頁碼

BL=屬性(文本模式)或顏色(圖形模式)

CX=重複輸出字符的次數

出口參數:無

(10)、功能0AH

功能描述:在當前光標處按原有屬性顯示字符

入口參數:AH=0AH

AL=字符

BH=顯示頁碼

BL=顏色(圖形模式,僅適用於PCjr)

CX=重複輸出字符的次數

出口參數:無

(11)、功能0BH

功能描述:設置調色板、背景色或邊框

入口參數:AH=0BH

設置顏色:BH=00H,BL=顏色

選擇調色板:BH=01H,BL=調色板(320×200、4種顏色的圖形模式)

出口參數:無

(12)、功能0CH

功能描述:寫圖形象素

入口參數:AH=0CH

AL=象素值

BH=頁碼

(CX、DX)=圖形座標列(X)、行(Y)

出口參數:無

(13)、功能0DH

功能描述:讀圖形象素

入口參數:AH=0DH

BH=頁碼

(CX、DX)=圖形座標列(X)、行(Y)

出口參數:AL=象素值

(14)、功能0EH

功能描述:在Teletype模式下顯示字符

入口參數:AH=0EH

AL=字符

BH=頁碼

BL=前景色(圖形模式)

出口參數:無

(15)、功能0FH

功能描述:讀取顯示器模式

入口參數:AH=0FH

出口參數:AH=屏幕字符的列數

AL=顯示模式(參見功能00H中的說明)

BH=頁碼

(16)、功能10H

功能描述:顏色中斷。其子功能說明如下: 功能號 子功能名稱功能號 子功能名稱

00H — 設置調色板寄存器01H — 設置邊框顏色

02H — 設置調色板和邊框03H — 觸發閃爍/亮顯位

07H — 讀取調色板寄存器08H — 讀取邊框顏色

09H — 讀取調色板和邊框10H — 設置顏色寄存器

12H — 設置顏色寄存器塊13H — 設置顏色頁狀態

15H — 讀取顏色寄存器17H — 讀取顏色寄存器塊

1AH — 讀取顏色頁狀態1BH — 設置灰度值

(17)、功能11H

功能描述:字體中斷。其子功能說明如下: 子功能號子功能名稱

00H裝入用戶字體和可編程控制器

10H裝入用戶字體和可編程控制器

01H裝入8×14 ROM字體和可編程控制器

11H裝入8×14 ROM字體和可編程控制器

02H裝入8×8 ROM字體和可編程控制器

12H裝入8×8 ROM字體和可編程控制器

03H設置塊指示器

04H裝入8×16 ROM字體和可編程控制器

14H裝入8×16 ROM字體和可編程控制器

20H設置INT 1Fh字體指針

21H爲用戶字體設置INT 43h

22H爲8×14 ROM字體設置INT 43H

23H爲8×8 ROM字體設置INT 43H

24H爲8×16 ROM字體設置INT 43H

30H讀取字體信息

(18)、功能12H

功能描述:顯示器的配置中斷。其子功能說明如下: 功能號 功能名稱 功能號 功能名稱

10H — 讀取配置信息20H — 選擇屏幕打印

30H — 設置掃描行31H — 允許/禁止裝入缺省調色板

32H — 允許/禁止顯示33H — 允許/禁止灰度求和

34H — 允許/禁止光標模擬35H — 切換活動顯示

36H — 允許/禁止屏幕刷新

(19)、功能13H

功能描述:在Teletype模式下顯示字符串

入口參數:AH=13H

BH=頁碼

BL=屬性(若AL=00H或01H)

CX=顯示字符串長度

(DH、DL)=座標(行、列)

ES:BP=顯示字符串的地址 AL=顯示輸出方式

0——字符串中只含顯示字符,其顯示屬性在BL中。顯示後,光標位置不變

1——字符串中只含顯示字符,其顯示屬性在BL中。顯示後,光標位置改變

2——字符串中含顯示字符和顯示屬性。顯示後,光標位置不變

3——字符串中含顯示字符和顯示屬性。顯示後,光標位置改變

出口參數:無

(20)、功能1AH

功能描述:讀取/設置顯示組合編碼,僅PS/2有效,在此從略

(21)、功能1BH

功能描述:讀取功能/狀態信息,僅PS/2有效,在此從略

(22)、功能1CH

功能描述:保存/恢復顯示器狀態,僅PS/2有效,在此從略

2、直接磁盤服務(Direct Disk Service——INT 13H)

00H —磁盤系統復位0EH —讀扇區緩衝區

01H —讀取磁盤系統狀態0FH —寫扇區緩衝區

02H —讀扇區10H —讀取驅動器狀態

03H —寫扇區11H —校準驅動器

04H —檢驗扇區12H —控制器RAM診斷

05H —格式化磁道13H —控制器驅動診斷

06H —格式化壞磁道14H —控制器內部診斷

07H —格式化驅動器15H —讀取磁盤類型

08H —讀取驅動器參數16H —讀取磁盤變化狀態

09H —初始化硬盤參數17H —設置磁盤類型

0AH —讀長扇區18H —設置格式化媒體類型

0BH —寫長扇區19H —磁頭保護

0CH —查尋1AH —格式化ESDI驅動器

0DH —硬盤系統復位

(1)、功能00H

功能描述:磁盤系統復位

入口參數:AH=00H

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(2)、功能01H

功能描述:讀取磁盤系統狀態

入口參數:AH=01H

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

出口參數:AH=00H,AL=狀態代碼,其定義如下:

00H — 無錯 01H — 非法命令

02H — 地址目標未發現03H — 磁盤寫保護(軟盤)

04H — 扇區未發現05H — 復位失敗(硬盤)

06H — 軟盤取出(軟盤)07H — 錯誤的參數表(硬盤)

08H — DMA越界(軟盤)09H — DMA超過64K界限

0AH — 錯誤的扇區標誌(硬盤)0BH — 錯誤的磁道標誌(硬盤)

0CH — 介質類型未發現(軟盤)0DH — 格式化時非法扇區號(硬盤)

0EH — 控制數據地址目標被發現(硬盤)0FH — DMA仲裁越界(硬盤)

10H — 不正確的CRC或ECC編碼11H — ECC校正數據錯(硬盤)

CRC:Cyclic Redundancy Check code

ECC:Error Checking & Correcting code

20H — 控制器失敗40H — 查找失敗

80H — 磁盤超時(未響應)AAH — 驅動器未準備好(硬盤)

BBH — 未定義的錯誤(硬盤)CCH — 寫錯誤(硬盤)

E0H — 狀態寄存器錯(硬盤)FFH — 檢測操作失敗(硬盤)

(3)、功能02H

功能描述:讀扇區

入口參數:AH=02H

AL=扇區數

CH=柱面

CL=扇區

DH=磁頭

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

ES:BX=緩衝區的地址

出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明

(4)、功能03H

功能描述:寫扇區

入口參數:AH=03H

AL=扇區數

CH=柱面

CL=扇區

DH=磁頭

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

ES:BX=緩衝區的地址

出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明

(5)、功能04H

功能描述:檢驗扇區

入口參數:AH=04H

AL=扇區數

CH=柱面

CL=扇區

DH=磁頭

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

ES:BX=緩衝區的地址

出口參數:CF=0——操作成功,AH=00H,AL=被檢驗的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明

(6)、功能05H

功能描述:格式化磁道

入口參數:AH=05H

AL=交替(Interleave)

CH=柱面

DH=磁頭

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

ES:BX=地址域列表的地址

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(7)、功能06H

功能描述:格式化壞磁道

入口參數:AH=06H

AL=交替

CH=柱面

DH=磁頭

DL=80H~0FFH:硬盤

ES:BX=地址域列表的地址

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(8)、功能07H

功能描述:格式化驅動器

入口參數:AH=07H

AL=交替

CH=柱面

DL=80H~0FFH:硬盤

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(9)、功能08H

功能描述:讀取驅動器參數

入口參數:AH=08H

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

出口參數:CF=1——操作失敗,AH=狀態代碼,參見功能號01H中的說明,否則, BL=01H — 360K

=02H — 1.2M

=03H — 720K

=04H — 1.44M

CH=柱面數的低8位

CL的位7-6=柱面數的該2位

CL的位5-0=扇區數

DH=磁頭數

DL=驅動器數

ES:DI=磁盤驅動器參數表地址

(10)、功能09H

功能描述:初始化硬盤參數

入口參數:AH=09H

DL=80H~0FFH:硬盤(還有有關參數表問題,在此從略)

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(11)、功能0AH

功能描述:讀長扇區,每個扇區隨帶四個字節的ECC編碼

入口參數:AH=0AH

AL=扇區數

CH=柱面

CL=扇區

DH=磁頭

DL=80H~0FFH:硬盤

ES:BX=緩衝區的地址

出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明

(12)、功能0BH

功能描述:寫長扇區,每個扇區隨帶四個字節的ECC編碼

入口參數:AH=0BH

AL=扇區數

CH=柱面

CL=扇區

DH=磁頭

DL=80H~0FFH:硬盤

ES:BX=緩衝區的地址

出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明

(13)、功能0CH

功能描述:查尋

入口參數:AH=0CH

CH=柱面的低8位

CL(7-6位)=柱面的高2位

DH=磁頭

DL=80H~0FFH:硬盤

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(14)、功能0DH

功能描述:硬盤系統復位

入口參數:AH=0DH

DL=80H~0FFH:硬盤

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(15)、功能0EH

功能描述:讀扇區緩衝區

入口參數:AH=0EH

ES:BX=緩衝區的地址

出口參數:CF=0——操作成功,否則,AH=狀態代碼,參見功能號01H中的說明

(16)、功能0FH

功能描述:寫扇區緩衝區

入口參數:AH=0FH

ES:BX=緩衝區的地址

出口參數:CF=0——操作成功,否則,AH=狀態代碼,參見功能號01H中的說明

(17)、功能10H

功能描述:讀取驅動器狀態

入口參數:AH=10H

DL=80H~0FFH:硬盤

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(18)、功能11H

功能描述:校準驅動器

入口參數:AH=11H

DL=80H~0FFH:硬盤

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明

(19)、功能12H

功能描述:控制器RAM診斷

入口參數:AH=12H

出口參數:CF=0——操作成功,否則,AH=狀態代碼,參見功能號01H中的說明

(20)、功能13H

功能描述:控制器驅動診斷

入口參數:AH=13H

出口參數:CF=0——操作成功,否則,AH=狀態代碼,參見功能號01H中的說明

(21)、功能14H

功能描述:控制器內部診斷

入口參數:AH=14H

出口參數:CF=0——操作成功,否則,AH=狀態代碼,參見功能號01H中的說明

(22)、功能15H

功能描述:讀取磁盤類型

入口參數:AH=15H

DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤

出口參數:CF=1——操作失敗,AH=狀態代碼,參見功能號01H中的說明, 否則,AH=00H — 未安裝驅動器

=01H — 無改變線支持的軟盤驅動器

=02H — 帶有改變線支持的軟盤驅動器

=03H — 硬盤,CX:DX=512字節的扇區數

(23)、功能16H

功能描述:讀取磁盤變化狀態

入口參數:AH=16H

DL=00H~7FH:軟盤

出口參數:CF=0——磁盤未改變,AH=00H,否則,AH=06H,參見功能號01H中的說明

(24)、功能17H

功能描述:設置磁盤類型

入口參數:AH=17H

DL=00H~7FH:軟盤 AL=00H — 未用

=01H — 360K在360K驅動器中

=02H — 360K在1.2M驅動器中

=03H — 1.2M在1.2M驅動器中

=04H — 720K在720K驅動器中

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態編碼,參見功能號01H中的說明

(25)、功能18H

功能描述:設置格式化媒體類型

入口參數:AH=18H

CH=柱面數

CL=每磁道的扇區數

DL=00H~7FH:軟盤

出口參數:CF=0——操作成功,AH=00H,ES:DI=介質類型參數表地址,否則,AH=狀態編碼,參見功能號01H中的說明

(26)、功能19H

功能描述:磁頭保護,僅在PS/2中有效,在此從略

(27)、功能1AH

功能描述:格式化ESDI驅動器,僅在PS/2中有效,在此從略

3、串行口服務(Serial Port Service——INT 14H)

00H —初始化通信口03H —讀取通信口狀態

01H —向通信口輸出字符04H —擴充初始化通信口

02H —從通信口讀入字符

(1)、功能00H

功能描述:初始化通信口

入口參數:AH=00H

DX=初始化通信口號(0=COM1,1=COM2,……)

AL=初始化參數,參數的說明如下: 波特率奇偶位停止位字的位數

76543210

000 = 110X0 = None0 = 1 bit10 = 7 bits

001 = 15001 = Odd1 = 2 bits11 = 8 bits

010 = 30011 = Even

011 = 600

100 = 1200

101 = 2400

110 = 4800

111 = 9600

對於PS/2,可用INT 14H之功能04H和05H來初始化其通信速率大於9600。

出口參數:AH=通信口狀態,各狀態位爲1時的含義如下: 位7—超時

位6—傳遞移位寄存器爲空

位5—傳遞保持寄存器爲空

位4—發現終止位3—發現幀錯誤

位2—發現奇偶錯

位1—發現越界錯

位0—接受數據準備好

AL=Modem狀態

位7—接受單線信號診斷

位6—環指示器

位5—數據發送準備好

位4—清除數據,再發送位3—改變在接受線上的信號診斷

位2—後邊界環指示器

位1—改變“數據準備好”狀態

位0—改變“清除—發送”狀態

(2)、功能01H

功能描述:向通信口輸出字符

入口參數:AH=01H

AL=字符

DX=初始化通信口號(0=COM1,1=COM2,……)

出口參數:AL的值不變

AH的位7=0——操作成功,通信口狀態,AH的位6~0是其狀態位

(3)、功能02H

功能描述:從通信口讀入字符

入口參數:AH=02H

DX=初始化通信口號(0=COM1,1=COM2,……)

出口參數:AL=接受的字符

AH的位7=0——操作成功,通信口狀態,AH的位6~0是其狀態位

(4)、功能03H

功能描述:讀取通信口狀態

入口參數:AH=03H

DX=初始化通信口號(0=COM1,1=COM2,……)

出口參數:AH=通信口狀態,AL=Modem狀態,參見功能號00H中的說明

(5)、功能04H

功能描述:擴充初始化通信口,僅在PS/2中有效,在此從略

4、雜項系統服務(Miscellaneous System Service——INT 15H)

00H —開盒式磁帶機馬達85H —系統請求(SysReq)鍵

01H —關盒式磁帶機馬達86H —延遲

02H —讀盒式磁帶機87H —移動擴展內存塊

03H —寫盒式磁帶機88H —讀取擴展內存大小

0FH —格式化ESDI驅動器定期中斷89H —進入保護模式

21H —讀/寫自檢(POST)錯誤記錄90H —設備等待

4FH —鍵盤截聽91H —設備加電自檢

80H —設備打開C0H —讀取系統環境

81H —設備關閉C1H —讀取擴展BIOS數據區地址

82H —進程終止C2H —鼠標圖形

83H —事件等待C3H —設置WatcHdog超時

84H —讀遊戲杆C4H —可編程選項選擇

(1)、功能00H

功能描述:開盒式磁帶機馬達

入口參數:AH=00H

出口參數:CF=0——操作成功,否則,AH=狀態(86H,若未安裝盒式磁帶機)

(2)、功能01H

功能描述:關盒式磁帶機馬達

入口參數:AH=01H

出口參數:CF=0——操作成功,否則,AH=狀態(86H,若未安裝盒式磁帶機)

(3)、功能02H

功能描述:讀盒式磁帶機

入口參數:AH=02H

CX=讀入的字節數

ES:BX=存放數據的緩衝區地址

出口參數:CF=0——操作成功,DX=實際讀入的字節數,ES:BX指向最後一個字節的後面地址,否則,AH=狀態碼,其值含義如下: 01H

—— CRC校驗碼錯80H —— 非法命令

02H —— 位信號混亂86H —— 未安裝盒式磁帶機

04H —— 無發現數據

(4)、功能03H

功能描述:寫盒式磁帶機

入口參數:AH=03H

CX=要寫入的字節數

ES:BX=已存數據的緩衝區地址

出口參數:CF=0——操作成功,CX=00H,ES:BX指向最後一個字節的後面地址,否則,AH=狀態碼,其值含義如下: 80H ——

非法命令86H —— 未安裝盒式磁帶機

(5)、功能0FH

功能描述:格式化ESDI驅動器定期中斷,僅在PS/2中有效,在此從略

(6)、功能21H

功能描述:讀/寫自檢(POST)錯誤記錄,僅在PS/2中有效,在此從略

(7)、功能4FH

功能描述:鍵盤截聽,僅在PS/2中有效,在此從略

(8)、功能80H

功能描述:打開設備

入口參數:AH=80H

BX=設備號

CX=進程號

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態碼

(9)、功能81H

功能描述:關閉設備

入口參數:AH=81H

BX=設備號

CX=進程號

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態碼

(10)、功能82H

功能描述:進程終止

入口參數:AH=81H

BX=進程號

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態碼

(11)、功能83H

功能描述:事件等待

入口參數:AH=83H 若需要事件等待,則:AL=00H

CX:DX=千分秒

ES:BX=信號量字節的地址

否則,調用參數爲AL=01H

出口參數:若調用時,AL=00H,操作成功——CF=0,否則,CF=1

(12)、功能84H

功能描述:讀遊戲杆

入口參數:AH=84H

DX=00H——讀取開關設置

=01H——讀取阻力輸入

出口參數:CF=1H——操作失敗,否則,

DX=00H時,AL=開關設置(位7~4)

DX=01H時,AX、BX、CX和DX分別爲A(x)、A(y)、B(x)和B(y)的值

(13)、功能85H

功能描述:系統請求(SysReq)鍵

入口參數:AH=85H

AL=00H——鍵按下

=01H——鍵放開

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態碼

(14)、功能86H

功能描述:延遲

入口參數:AH=86H

CX:DX=千分秒

出口參數:CF=0——操作成功,AH=00H

(15)、功能87H

功能描述:從常規內存和擴展內存之間移動擴展內存塊

入口參數:AH=87H

CX=移動的字數

ES:SI=GDT(Global Descriptor Table)的地址,其結構定義如下: 偏移量存儲的信息

00h-0Fh保留,但現全爲0

10h-11h段的長度(2CX-1或更大)

12h-14h24位源地址

15h訪問權限字節(其值爲93h)

16h-17h保留,但現全爲0

18h-19h段的長度(2CX-1或更大)

1Ah-1Ch 24位目標源地址

1Dh訪問權限字節(其值爲93h)

1Eh-2Fh保留,但現全爲0

出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態碼,其含義如下:

01H —— RAM奇偶錯

02H —— 異常中斷錯

03H —— 20號線門地址失敗

(16)、功能88H

功能描述:讀取擴展內存大小

入口參數:AH=88H

出口參數:AX=擴展內存字節數(以K爲單位)

(17)、功能89H

功能描述:進入保護模式,CPU從實模式進入保護模式

入口參數:AH=89H

BH=IRQ0的中斷號

BL=IRQ8的中斷號

ES:SI=GDT的地址(參見功能號87H)

出口參數:CF=1——操作失敗,AH=0FFH,否則,AH=00H,CS、DS、ES和SS都是用戶定義的選擇器

(18)、功能90H

功能描述:設備等待

入口參數:AH=90H AL=驅動器類型,具體的驅動器類型定義如下:

=00H~7FH——串行再重用設備

=80H~0BFH——可重入式設備

=0C0H~0FFH——等待訪問設備,沒有自檢功能

00h — 磁盤

02h — 鍵盤

80h — 網絡

FDh — 軟盤馬達啓動01h — 軟盤

03h — 點設備(Pointing Device)

FCh — 硬盤復位

FEh — 打印機

ES:BX=對驅動器類型80H~0FFH的請求塊地址

出口參數:CF=1——操作失敗,否則,AH=00H

(19)、功能91H

功能描述:設備加電自檢

入口參數:AH=91H

AL=00H~7FH——串行再重用設備

=80H~0BFH——可重入式設備

出口參數:AH=00H

(20)、功能0C0H

功能描述:讀取系統環境

入口參數:AH=0C0H

出口參數:ES:BX=配置表地址,配置表的定義如下: 偏移量含義說明

00h-01h表的大小(字節數)

02h系統模型

03h系統子模型

04hBIOS版本號

05h配置標誌,其各位爲1時的說明如下:

位7—DMA通道3使用

位6—存在從屬8259

位5—實時時鐘有效

位4—鍵盤截聽有效

位3—等待外部事件有效

位2—擴展BIOS數據區

位1—微通道設施

位0—保留

06h-09h保留

(21)、功能C1H

功能描述:讀取擴展BIOS數據區地址,僅在PS/2中有效,在此從略

(22)、功能C2H

功能描述:鼠標圖形,僅在PS/2中有效,在此從略

(23)、功能C3H

功能描述:設置WatcHdog超時,僅在PS/2中有效,在此從略

(24)、功能C4H

功能描述:可編程選項選擇,僅在PS/2中有效,在此從略

5、鍵盤服務(Keyboard Service——INT 16H)

00H、10H —從鍵盤讀入字符03H —設置重複率

01H、11H —讀取鍵盤狀態04H —設置鍵盤點擊

02H, 12H —讀取鍵盤標誌05H —字符及其掃描碼進棧

(1)、功能00H和10H

功能描述:從鍵盤讀入字符

入口參數:AH=00H——讀鍵盤

=10H——讀擴展鍵盤,可根據0000:0496H單元的內容判斷:擴展鍵盤是否有效

出口參數:AH=鍵盤的掃描碼

AL=字符的ASCII碼

(2)、功能01H和11H

功能描述:讀取鍵盤狀態

入口參數:AH=01H——檢查普通鍵盤

=11H——檢查擴展鍵盤

出口參數:ZF=1——無字符輸入,否則,AH=鍵盤的掃描碼,AL=ASCII碼。

(3)、功能02H和12H

功能描述:讀取鍵盤標誌

入口參數:AH=02H——普通鍵盤的移位標誌

=12H——擴展鍵盤的移位標誌

出口參數:AL=鍵盤標誌(02H和12H都有效),其各位之值爲1時的含義如下: 位7—INS開狀態位3—ALT鍵按下

位6—CAPS LOCK開狀態位2—CTRL鍵按下

位5—NUM LOCK開狀態位1—左SHIFT鍵按下

位4—SCROLL LOCK開狀態位0—右SHIFT鍵按下

AH=擴展鍵盤的標誌(12H有效),其各位之值爲1時的含義如下:

位7—SysReq鍵按下位3—右ALT鍵按下

位6—CAPS LOCK鍵按下位2—右CTRL鍵按下

位5—NUM LOCK鍵按下位1—左ALT鍵按下

位4—SCROLL鍵按下位0—左CTRL鍵按下

(4)、功能03H

功能描述:設置重複率

入口參數:AH=03H 對於PC/AT和PS/2:AL=05H

BH=重複延遲

BL=重複率

對於PCjr:AL=00H——裝入缺省的速率和延遲

=01H——增加初始延遲

=02H——重複頻率降低一半

=03H——增加延遲和降低一半重複頻率

=04H——關閉鍵盤重複功能

出口參數:無

(5)、功能04H

功能描述:設置鍵盤點擊

入口參數:AH=04H AL=00H——關閉鍵盤點擊功能

=01H——打開鍵盤點擊功能

出口參數:無

(6)、功能05H

功能描述:字符及其掃描碼進棧

入口參數:AH=05H

CH=字符的描述碼

CL=字符的ASCII碼

出口參數:CF=1——操作成功,AL=00H,否則,AL=01H

6、並行口服務(Parallel Port Service——INT 17H)

00H —向打印機輸出字符

01H —初始化打印機端口

02H —讀取打印機狀態

(1)、功能00H

功能描述:向打印機輸出字符

入口參數:AH=00H

AL=輸出的字符

DX=打印機號(0—LPT1,1—LPT2,2—LPT3,……)

出口參數:AH=打印機狀態。其各位爲1時的含義如下: 位7—打印機空閒 位3—I/O錯誤

位6—打印機響應位2—保留

位5—無紙位1—保留

位4—打印機被選位0—打印機超時

(2)、功能01H

功能描述:初始化打印機端口

入口參數:AH=01H

DX=打印機號(0—LPT1,1—LPT2,2—LPT3,……)

出口參數:AH=打印機狀態。各位定義如下功能00H所示

(3)、功能02H

功能描述:讀取打印機狀態

入口參數:AH=02H

DX=打印機號(0—LPT1,1—LPT2,2—LPT3,……)

出口參數:AH=打印機狀態。各位定義如下功能00H所示

7、時鐘服務(Clock Service——INT 1AH)

00H —讀取時鐘“滴答”計數06H —設置鬧鐘

01H —設置時鐘“滴答”計數07H —鬧鐘復位

02H —讀取時間0AH —讀取天數計數

03H —設置時間0BH —設置天數計數

04H —讀取日期 80H —設置聲音源信息

05H —設置日期

(1)、功能00H

功能描述:讀取時鐘“滴答”計數

入口參數:AH=00H

出口參數:AL=00H——未過午夜,否則,表示已過午夜

CX:DX=時鐘“滴答”計數

(2)、功能01H

功能描述:設置時鐘“滴答”計數

入口參數:AH=01H

CX:DX=時鐘“滴答”計數

出口參數:無

(3)、功能02H

功能描述:讀取時間

入口參數:AH=02H

出口參數:CH=BCD碼格式的小時

CL=BCD碼格式的分鐘

DH=BCD碼格式的秒

DL=00H——標準時間,否則,夏令時

CF=0——時鐘在走,否則,時鐘停止

(4)、功能03H

功能描述:設置時間

入口參數:AH=03H

CH=BCD碼格式的小時

CL=BCD碼格式的分鐘

DH=BCD碼格式的秒

DL=00H——標準時間,否則,夏令時

出口參數:無

(5)、功能04H

功能描述:讀取日期

入口參數:AH=04H

出口參數:CH=BCD碼格式的世紀

CL=BCD碼格式的年

DH=BCD碼格式的月

DL=BCD碼格式的日

CF=0——時鐘在走,否則,時鐘停止

(6)、功能05H

功能描述:設置日期

入口參數:AH=05H

CH=BCD碼格式的世紀

CL=BCD碼格式的年

DH=BCD碼格式的月

DL=BCD碼格式的日

出口參數:無

(7)、功能06H

功能描述:設置鬧鐘

入口參數:AH=06H

CH=BCD碼格式的小時

CL=BCD碼格式的分鐘

DH=BCD碼格式的秒

出口參數:CF=0——操作成功,否則,鬧鐘已設置或時鐘已停止

(8)、功能07H

功能描述:鬧鐘復位

入口參數:AH=07H

出口參數:無

(9)、功能0AH

功能描述:讀取天數計數,僅在PS/2有效,在此從略

(10)、功能0BH

功能描述:設置天數計數,僅在PS/2有效,在此從略

(11)、功能80H

功能描述:設置聲音源信息

入口參數:AH=80H

AL=聲音源

=00H——8253可編程計時器,通道2

=01H——盒式磁帶輸入

=02H——I/O通道上的"Audio In"

=03H——聲音產生芯片

出口參數:無

8、直接系統服務(Direct System Service)

INT 00H —“0”作除數

INT 01H —單步中斷

INT 02H —非屏蔽中斷(NMI)

INT 03H —斷點中斷

INT 04H —算術溢出錯誤

INT 05H —打印屏幕和BOUND越界

INT 06H —非法指令錯誤

INT 07H —處理器擴展無效

INT 08H —時鐘中斷

INT 09H —鍵盤輸入

INT 0BH —通信口(COM2:)

INT 0CH —通信口(COM1:)

INT 0EH —磁盤驅動器輸入/輸出

INT 11H —讀取設備配置

INT 12H —讀取常規內存大小(返回值AX爲內存容量,以K爲單位)

INT 18H —ROM BASIC

INT 19H —重啓動系統

INT 1BH —CTRL+BREAK處理程序

INT 1CH —用戶時鐘服務

INT 1DH —指向顯示器參數表指針

INT 1EH —指向磁盤驅動器參數表指針

INT 1FH —指向圖形字符模式表指針