基本介紹
- 中文名:INT 10h
- 定義:BIOS中斷調用的第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是一種無形游標。 有些顯示卡有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=字元串偏移量 |
參見
- BIOS 中斷調用
- INT 13h
- mode 13h