彙編中的10H中斷是由BIOS對顯示器和螢幕所提供的服務程式。使用int
10h服務程式時,必須先指定ah寄存器為以下顯示服務編号之一,以指定需要調用的功用。
顯示服務 (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顯示模式屬性
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
出口參數:CH=光标的起始行
CL=光标的終止行
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
出口參數:AH=屬性
AL=字 符
9、功能09H
功能描述:在目前光标處按指定屬性顯示字元
入口參數:AH=09H
AL=字元
BH= 顯示頁碼
BL=屬性(文本模式)或顔色(圖形模式)
CX=重複輸出字元的次數
10、功能 0AH
功能描述:在目前光标處按原有屬性顯示字元
入口參數:AH=0AH
BL=顔色 (圖形模式,僅适用于PCjr)
11、功能0BH
功能描述:設定調 色闆、背景色或邊框
入口參數:AH=0BH
設定顔色:BH=00H,01=顔色
選擇調色闆:BH=01H,BL=調色闆 (320×200、4種顔色的圖形模式)
12、功能0CH
功能描述:寫圖形象素
入口參 數:AH=0CH
AL=象素值
BH=頁碼
(CX、DX)=圖形坐标列(X)、行(Y)
13、功能0DH
功能描述:讀圖形象素
入口參數:AH=0DH
出 口參數:AL=象素值
14、功能0EH
功能描述:在Teletype模式下顯示字元
入口參數:AH=0EH
AL= 字元
BL=前景色(圖形模式)
15、功能0FH
功能描述:讀取顯示器模式
入 口參數:AH=0FH
出口參數:AH=螢幕字元的列數
AL=顯示模式(參見功能00H中的說明)
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
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有效,在此從略