x86 系統中斷
______________________________________________________________________________
直接系統服務(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 - 指向圖形字元模式表指針
______________________________________________________________________________
顯示服務(Video Service -- INT 10H)
00H - 設定顯示器模式
01H - 設定光标形狀
02H - 設定光标位置
03H - 讀取光标資訊
04H - 讀取光筆位置
05H - 設定顯示頁
06H、07H - 初始化或滾屏
08H - 讀光标處的字元及其屬性
09H - 在光标處按指定屬性顯示字元
0AH - 在目前光标處顯示字元
0BH - 設定調色闆、背景色或邊框
0CH - 寫圖形象素
0DH - 讀圖形象素
0EH - 在Teletype模式下顯示字元
0FH - 讀取顯示器模式
10H - 顔色
11H - 字型
12H - 顯示器的配置
13H - 在Teletype模式下顯示字元串
1AH - 讀取/設定顯示組合編碼
1BH - 讀取功能/狀态資訊
1CH - 儲存/恢複顯示器狀态
------------------------------------------------------------------------------------------------
(1)、功能00H
功能描述: 設定顯示器模式
入口參數:
AH=00H
AL=顯示器模式,見下表所示
出口參數: 無
可用的顯示模式如下所列:
顯示模式 顯示模式屬性 顯示模式 顯示模式屬性
00H 40×25 16色 文本 01H 40×25 16色 文本
02H 80×25 16色 文本 03H 80×25 16色 文本
04H 320×200 4色 05H 320×200 4色
06H 640×200 2色 07H 80×25 2色 文本
08H 160×200 16色 09H 320×200 16色
0AH 640×200 4色 0BH 保留
0CH 保留 0DH 320×200 16色
0EH 640×200 16色 0FH 640×350 2(單色)
10H 640×350 4色 10H 640×350 16色
11H 640×480 2色 12H 640×480 16色
13H 640×480 256色
對于超級VGA顯示卡,我們可用AX=4F02H和下列BX的值來設定其顯示模式。
BX 顯示模式屬性 BX 顯示模式屬性
100H 640×400 256色 101H 640×480 256色
102H 800×600 16色 103H 800×600 256色
104H 1024×768 16色 105H 1024×768 256色
106H 1280×1024 16色 107H 1280×1024 256色
108H 80×60 文本模式 109H 132×25 文本模式
10AH 132×43 文本模式 10BH 132×50 文本模式
10CH 132×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、01H 0~7 CGA、EGA、MCGA、VGA
02H、03H 0~3 CGA
02H、03H 0~7 EGA、MCGA、VGA
07H 0~7 EGA、VGA
0DH 0~7 EGA、VGA
0EH 0~3 EGA、VGA
0FH 0~1 EGA、VGA
10H 0~1 EGA、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有效,在此從略
______________________________________________________________________________
直接磁盤服務(Direct Disk Service -- INT 13H)
00H - 磁盤系統複位
01H - 讀取磁盤系統狀态
02H - 讀扇區
03H - 寫扇區
04H - 檢驗扇區
05H - 格式化磁道
06H - 格式化壞磁道
07H - 格式化驅動器
08H - 讀取驅動器參數
09H - 初始化硬碟參數
0AH - 讀長扇區
0BH - 寫長扇區
0CH - 查尋
0DH - 硬碟系統複位
0EH - 讀扇區緩沖區
0FH - 寫扇區緩沖區
10H - 讀取驅動器狀态
11H - 校準驅動器
12H - 控制器RAM診斷
13H - 控制器驅動診斷
14H - 控制器内部診斷
15H - 讀取磁盤類型
16H - 讀取磁盤變化狀态
17H - 設定磁盤類型
18H - 設定格式化媒體類型
19H - 磁頭保護
1AH - 格式化ESDI驅動器
-------------------------------------------------------------------------------------------------
(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 - 硬碟,CXX=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,ESI=媒體類型參數表位址,否則,AH=狀态編碼,參見功能号01H中的說明
(26)、功能19H
功能描述: 磁頭保護,僅在PS/2中有效,在此從略
(27)、功能1AH
功能描述: 格式化ESDI驅動器,僅在PS/2中有效,在此從略
______________________________________________________________________________
串行口服務(Serial Port Service -- INT 14H)
00H - 初始化通信口
01H - 向通信口輸出字元
02H - 從通信口讀入字元
03H - 讀取通信口狀态
04H - 擴充初始化通信口
------------------------------------------------------------------------------------------------
(1)、功能00H
功能描述: 初始化通信口
入口參數: AH=00H
DX=初始化通信口号(0=COM1,1=COM2,……)
AL=初始化參數,參數的說明如下: 波特率 奇偶位 停止位 字的位數
765 43 2 10
000 = 110 X0 = None 0 = 1 bit 10 = 7 bits
001 = 150 01 = Odd 1 = 2 bits 11 = 8 bits
010 = 300 11 = 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中有效,在此從略
______________________________________________________________________________
雜項系統服務(Miscellaneous System Service -- INT 15H)
00H - 開盒式錄音帶機馬達
01H - 關盒式錄音帶機馬達
02H - 讀盒式錄音帶機
03H - 寫盒式錄音帶機
0FH - 格式化ESDI驅動器定期中斷
21H - 讀/寫自檢(POST)錯誤記錄
4FH - 鍵盤截聽
80H - 裝置打開
81H - 裝置關閉
82H - 程序終止
83H - 事件等待
84H - 讀遊戲杆
85H - 系統請求(SysReq)鍵
86H - 延遲
87H - 移動擴充記憶體塊
88H - 讀取擴充記憶體大小
89H - 進入保護模式
90H - 裝置等待
91H - 裝置加電自檢
C0H - 讀取系統環境
C1H - 讀取擴充BIOS資料區位址
C2H - 滑鼠圖形
C3H - 設定WatcHdog逾時
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
CXX=千分秒
出口參數: CF=0 -- 操作成功,AH=00H
(15)、功能87H
功能描述: 從正常記憶體和擴充記憶體之間移動擴充記憶體塊
入口參數: AH=87H
CX=移動的字數
ES:SI=GDT(Global Descriptor Table)的位址,其結構定義如下: 偏移量 存儲的資訊
00h-0Fh 保留,但現全為0
10h-11h 段的長度(2CX-1或更大)
12h-14h 24位源位址
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 系統子模型
04h BIOS版本号
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中有效,在此從略
______________________________________________________________________________
鍵盤服務(Keyboard Service -- INT 16H)
00H、10H - 從鍵盤讀入字元
01H、11H - 讀取鍵盤狀态
02H, 12H - 讀取鍵盤标志
03H - 設定重複率
04H - 設定鍵盤點選
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
______________________________________________________________________________
并行口服務(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所示
______________________________________________________________________________
時鐘服務(Clock Service -- INT 1AH)
00H - 讀取時鐘“滴答”計數
01H - 設定時鐘“滴答”計數
02H - 讀取時間
03H - 設定時間
04H - 讀取日期
05H - 設定日期
06H - 設定鬧鐘
07H - 鬧鐘複位
0AH - 讀取天數計數
0BH - 設定天數計數
80H - 設定聲音源資訊
-------------------------------------------------------------------------------------------------
(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 -- 聲音産生晶片
______________________________________________________________________________
字元功能調用類(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
功能描述:
從标準輸入裝置上讀入一個位元組字元串,遇到“Enter鍵”結束輸入(輸入的字元在标準的輸出裝置上有回顯)。如果該輸入操作被重定向,那麼,将無法判斷檔案是否已到檔案尾
入口參數: AH=0AH
DS:DX=存放輸入字元的起始位址
接受輸入字元串緩沖區的定義說明:
1、第一個位元組為緩沖區的最大容量,可認為是入口參數;
2、第二個位元組為實際輸入的字元數(不包括Enter鍵),可看作出口參數;
3、從第三個位元組開始存放實際輸入的字元串;
4、字元串以Enter鍵結束,回車符是接受的最後一個字元;
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碼
______________________________________________________________________________
目錄控制功能(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),其含義見錯誤代碼表
(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 -- 檔案不存在,建立之
______________________________________________________________________________
檔案操作功能(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作業系統中,檔案控制塊的字段如下表所示。 字段名 偏移量 字段含義
驅動器字 00H 1 for drive A, 2 for drive B,...
目前塊字段 0CH 00H
記錄大小字段 0EH 0080H
檔案長度字段 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
(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 -- 檔案不存在,建立之
______________________________________________________________________________
檔案操作功能(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作業系統中,檔案控制塊的字段如下表所示。 字段名 偏移量 字段含義
驅動器字 00H 1 for drive A, 2 for drive B,...
目前塊字段 0CH 00H
記錄大小字段 0EH 0080H
檔案長度字段 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
(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=錯誤号,其含義見錯誤代碼表
______________________________________________________________________________
記錄操作功能(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=實際寫入的記錄數
______________________________________________________________________________
記憶體配置設定功能(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),其含義見錯誤代碼表
______________________________________________________________________________
系統功能(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_ERR ENDS
出口參數: 無
______________________________________________________________________________
程序控制功能(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的偏移量
______________________________________________________________________________
時間和日期功能(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 -- 設定失敗
______________________________________________________________________________
滑鼠功能中斷INT33H
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=最大垂直坐标
______________________________________________________________________________
其它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~03H 32位扇區數
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,否則,其值取決于處理程式