天天看點

intel 彙編中斷解釋

彙編中的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有效,在此從略