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:驅動程序是.SYS文件,否則,爲.COM文件
位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 —指向圖形字符模式表指針

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章