跳至內容

INT 10H

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

INT 10hINT 10HINT 16BIOS中斷調用的第10H功能的簡寫, 在基於x86的計算機系統中屬於第17中斷向量BIOS通常在此建立了一個中斷處理程序提供了實模式下的視頻服務。此類服務包括設置顯示模式,字符和字符串輸出,和基本圖形(在圖形模式下的讀取和寫入像素)功能。要使用這個功能的調用,在寄存器AH賦予子功能號,其它的寄存器賦予其它所需的參數,並用指令INT 10H調用。INT 10H的執行速度是相當緩慢的,所以很多程序都繞過這個BIOS例程而直接訪問顯示硬件。設置顯示模式並不經常使用,可以通過BIOS來實現,而一個遊戲在屏幕上繪製圖形,需要做得很快,所以直接訪問顯存比用BIOS調用每個像素更適合。

支持功能列表

[編輯]
功能 功能代碼 參數 返回
設置顯示模式 AH=00H AL=顯示模式 AL=顯示模式標誌/CRT控制模式字節
設置文本方式光標 AH=01H CH=行掃描開始,CL=行掃描結束

通常一個字符單元有8個掃描行(0-7)。所以,CX=0607H是一個正常的光標,CX=0007H是一個完整塊光標。如果設置CH的第5位,這通常意味着「隱藏光標」,所以CX=2607H是一種無形光標。

有些顯示卡有16條掃描線(00H-0Fh)。

有些顯示卡不使用CH的第5位,對於這種情況,可以嘗試行掃描開始大於行掃描結束(如:CX=0706h) 。

設置光標位置 AH=02H BH=頁碼,DH=行,DL=列
獲取光標位置和形狀 AH=03H BX=頁碼 AX=0,CH=行掃描開始,CL=行掃描結束,DH=行,DL=列
讀取光筆位置(VGA系統不工作) AH=04H AH=狀態(0=無觸發,1=觸發),BX=X像素,CH=Y像素,CL=像素行模式(0FH-10H),DH=字符Y,DL=字符X
選擇活動顯示頁 AH=05H AL=頁碼
向上滾動窗口 AH=06H AL=滾動的行(0=清除,被用於CH,CL,DH,DL),

BH=背景顏色和前景顏色,BH=43H,意義為背景顏色為紅色,前景顏色為青色。請參考 BIOS顏色屬性
CH=高行數,CL=左列數,DH=低行數,DL=右列數

向下滾動窗口 AH=07H 參考向上滾動
讀光標所在位置的字符和屬性 AH=08H BH=頁碼 AH=顏色,AL=字符
在當前光標位置寫字符和屬性 AH=09H AL=字符,BH=頁碼,BL=顏色,CX=多次打印字符
在光標位置寫入字符 AH=0AH AL=字符,BH=頁碼,CX=多次打印字符
設置背景/邊框顏色 AH=0BH,BH=00H BL=背景/邊框顏色(邊框顏色只能在文本模式設置)
設置調色板 AH=0BH,BH=01H BL=調色板ID(只使用於CGA,但現在的顯示卡都支持多個或所有模式。)
寫圖形像素 AH=0CH AL=顏色,BH=頁碼 CX=x,DX=y
讀圖形像素 AH=0DH BH=頁碼,CX=x,DX=y AL=顏色
電傳打字機輸出 AH=0EH AL=字符,BH=頁碼,BL=顏色(只適用於圖形模式)
獲取當前顯示模式 AH=0FH AH=屏幕字符的列數
         AL=显示模式(参见功能00H中的说明)
         BH=页码
寫字符串(EGA+,最低PC AT ) AH=13H AL=寫模式,BH=頁碼,BL=顏色,CX=字符串長度,DH=行,DL=列,ES:BP=字符串偏移量

參考

[編輯]

參見

[編輯]