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=字串偏移量 |