INT 10H
INT 10h,INT 10H或INT 16是BIOS中斷調用的第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是一種無形光標。 |
|
設置光標位置 | 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顏色屬性。 |
|
向下滾動窗口 | 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=字符串偏移量 |