源地址:http://blog.csdn.net/jxfgh/article/details/5521861
BIOS中斷:
1、顯示服務(Video Service——INT 10H)
00H —設置顯示器模式 0CH —寫圖形象素
01H —設置光標形狀 0DH —讀圖形象素
02H —設置光標位置 0EH —在Teletype模式下顯示字符
03H —讀取光標信息 0FH —讀取顯示器模式
04H —讀取光筆位置 10H —顏色
05H —設置顯示頁 11H —字體
06H、07H —初始化或滾屏 12H —顯示器的配置
08H —讀光標處的字符及其屬性 13H —在Teletype模式下顯示字符串
09H —在光標處按指定屬性顯示字符1 AH —讀取/設置顯示組合編碼
0AH —在當前光標處顯示字符 1BH —讀取功能/狀態信息
0BH —設置調色板、背景色或邊框 1CH —保存/恢復顯示器狀態
(1)、功能00H
功能描述:設置顯示器模式
入口參數:AH=00H
AL=顯示器模式,見下表所示
出口參數:無
可用的顯示模式如下所列:
顯示模式顯示模式屬性顯示模式顯示模式屬性
00H40×2516色 文本01H40×2516色 文本
02H80×2516色 文本03H80×2516色 文本
04H320×2004色05H320×2004色
06H640×2002色07H80×252色 文本
08H160×20016色09H320×20016色
0AH640×2004色0BH保留
0CH保留0DH320×20016色
0EH640×20016色0FH640×3502(單色)
10H640×3504色10H640×35016色
11H640×4802色12H640×48016色
13H640×480256色
對於超級VGA顯示卡,我們可用AX=4F02H和下列BX的值來設置其顯示模式。
BX顯示模式屬性BX顯示模式屬性
100H640×400256色101H640×480256色
102H800×60016色103H800×600256色
104H1024×76816色105H1024×768256色
106H1280×102416色107H1280×1024256色
108H80×60文本模式109H132×25文本模式
10AH132×43文本模式10BH132×50文本模式
10CH132×60文本模式
(2)、功能01H
功能描述:設置光標形狀
入口參數:AH=01H
CH低四位=光標的起始行
CL低四位=光標的終止行
出口參數:無
(3)、功能02H
功能描述:用文本座標下設置光標位置
入口參數:AH=02H
BH=顯示頁碼
DH=行(Y座標)
DL=列(X座標)
出口參數:無
(4)、功能03H
功能描述:在文本座標下,讀取光標各種信息
入口參數:AH=03H
BH=顯示頁碼
出口參數:CH=光標的起始行
CL=光標的終止行
DH=行(Y座標)
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
BH=顯示頁碼
出口參數:AH=屬性
AL=字符
(9)、功能09H
功能描述:在當前光標處按指定屬性顯示字符
入口參數:AH=09H
AL=字符
BH=顯示頁碼
BL=屬性(文本模式)或顏色(圖形模式)
CX=重複輸出字符的次數
出口參數:無
(10)、功能0AH
功能描述:在當前光標處按原有屬性顯示字符
入口參數:AH=0AH
AL=字符
BH=顯示頁碼
BL=顏色(圖形模式,僅適用於PCjr)
CX=重複輸出字符的次數
出口參數:無
(11)、功能0BH
功能描述:設置調色板、背景色或邊框
入口參數:AH=0BH
設置顏色:BH=00H,BL=顏色
選擇調色板:BH=01H,BL=調色板(320×200、4種顏色的圖形模式)
出口參數:無
(12)、功能0CH
功能描述:寫圖形象素
入口參數:AH=0CH
AL=象素值
BH=頁碼
(CX、DX)=圖形座標列(X)、行(Y)
出口參數:無
(13)、功能0DH
功能描述:讀圖形象素
入口參數:AH=0DH
BH=頁碼
(CX、DX)=圖形座標列(X)、行(Y)
出口參數:AL=象素值
(14)、功能0EH
功能描述:在Teletype模式下顯示字符
入口參數:AH=0EH
AL=字符
BH=頁碼
BL=前景色(圖形模式)
出口參數:無
(15)、功能0FH
功能描述:讀取顯示器模式
入口參數:AH=0FH
出口參數:AH=屏幕字符的列數
AL=顯示模式(參見功能00H中的說明)
BH=頁碼
(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
BH=頁碼
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有效,在此從略
2、直接磁盤服務(Direct Disk Service——INT 13H)
00H —磁盤系統復位0EH —讀扇區緩衝區
01H —讀取磁盤系統狀態0FH —寫扇區緩衝區
02H —讀扇區10H —讀取驅動器狀態
03H —寫扇區11H —校準驅動器
04H —檢驗扇區12H —控制器RAM診斷
05H —格式化磁道13H —控制器驅動診斷
06H —格式化壞磁道14H —控制器內部診斷
07H —格式化驅動器15H —讀取磁盤類型
08H —讀取驅動器參數16H —讀取磁盤變化狀態
09H —初始化硬盤參數17H —設置磁盤類型
0AH —讀長扇區18H —設置格式化媒體類型
0BH —寫長扇區19H —磁頭保護
0CH —查尋1AH —格式化ESDI驅動器
0DH —硬盤系統復位
(1)、功能00H
功能描述:磁盤系統復位
入口參數:AH=00H
DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤
出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明
(2)、功能01H
功能描述:讀取磁盤系統狀態
入口參數:AH=01H
DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤
出口參數:AH=00H,AL=狀態代碼,其定義如下:
00H — 無錯 01H — 非法命令
02H — 地址目標未發現03H — 磁盤寫保護(軟盤)
04H — 扇區未發現05H — 復位失敗(硬盤)
06H — 軟盤取出(軟盤)07H — 錯誤的參數表(硬盤)
08H — DMA越界(軟盤)09H — DMA超過64K界限
0AH — 錯誤的扇區標誌(硬盤)0BH — 錯誤的磁道標誌(硬盤)
0CH — 介質類型未發現(軟盤)0DH — 格式化時非法扇區號(硬盤)
0EH — 控制數據地址目標被發現(硬盤)0FH — DMA仲裁越界(硬盤)
10H — 不正確的CRC或ECC編碼11H — ECC校正數據錯(硬盤)
CRC:Cyclic Redundancy Check code
ECC:Error Checking & Correcting code
20H — 控制器失敗40H — 查找失敗
80H — 磁盤超時(未響應)AAH — 驅動器未準備好(硬盤)
BBH — 未定義的錯誤(硬盤)CCH — 寫錯誤(硬盤)
E0H — 狀態寄存器錯(硬盤)FFH — 檢測操作失敗(硬盤)
(3)、功能02H
功能描述:讀扇區
入口參數:AH=02H
AL=扇區數
CH=柱面
CL=扇區
DH=磁頭
DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=緩衝區的地址
出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明
(4)、功能03H
功能描述:寫扇區
入口參數:AH=03H
AL=扇區數
CH=柱面
CL=扇區
DH=磁頭
DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=緩衝區的地址
出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明
(5)、功能04H
功能描述:檢驗扇區
入口參數:AH=04H
AL=扇區數
CH=柱面
CL=扇區
DH=磁頭
DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=緩衝區的地址
出口參數:CF=0——操作成功,AH=00H,AL=被檢驗的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明
(6)、功能05H
功能描述:格式化磁道
入口參數:AH=05H
AL=交替(Interleave)
CH=柱面
DH=磁頭
DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤
ES:BX=地址域列表的地址
出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明
(7)、功能06H
功能描述:格式化壞磁道
入口參數:AH=06H
AL=交替
CH=柱面
DH=磁頭
DL=80H~0FFH:硬盤
ES:BX=地址域列表的地址
出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明
(8)、功能07H
功能描述:格式化驅動器
入口參數:AH=07H
AL=交替
CH=柱面
DL=80H~0FFH:硬盤
出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明
(9)、功能08H
功能描述:讀取驅動器參數
入口參數:AH=08H
DL=驅動器,00H~7FH:軟盤;80H~0FFH:硬盤
出口參數:CF=1——操作失敗,AH=狀態代碼,參見功能號01H中的說明,否則, BL=01H — 360K
=02H — 1.2M
=03H — 720K
=04H — 1.44M
CH=柱面數的低8位
CL的位7-6=柱面數的該2位
CL的位5-0=扇區數
DH=磁頭數
DL=驅動器數
ES:DI=磁盤驅動器參數表地址
(10)、功能09H
功能描述:初始化硬盤參數
入口參數:AH=09H
DL=80H~0FFH:硬盤(還有有關參數表問題,在此從略)
出口參數:CF=0——操作成功,AH=00H,否則,AH=狀態代碼,參見功能號01H中的說明
(11)、功能0AH
功能描述:讀長扇區,每個扇區隨帶四個字節的ECC編碼
入口參數:AH=0AH
AL=扇區數
CH=柱面
CL=扇區
DH=磁頭
DL=80H~0FFH:硬盤
ES:BX=緩衝區的地址
出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明
(12)、功能0BH
功能描述:寫長扇區,每個扇區隨帶四個字節的ECC編碼
入口參數:AH=0BH
AL=扇區數
CH=柱面
CL=扇區
DH=磁頭
DL=80H~0FFH:硬盤
ES:BX=緩衝區的地址
出口參數:CF=0——操作成功,AH=00H,AL=傳輸的扇區數,否則,AH=狀態代碼,參見功能號01H中的說明
(13)、功能0CH
功能描述:查尋
入口參數:AH=0CH
CH=柱面的低8位
CL(7-6位