BIOS中斷調用

BIOS中斷調用

BIOS中斷調用(BIOS interrupt calls)是一組功能,為DOS程式與一些軟體提供使用IBM PC兼容機上BIOS的功能。一些作業系統在系統引導時也使用BIOS以檢測並初始化硬體資源。

基本介紹

  • 中文名:BIOS中斷調用
  • 外文名:BIOS interrupt calls
  • 所屬學科:程式語言
中斷調用,BIOS 中斷向解釋,

中斷調用

若要調用中斷,可以使用X86彙編語言的INT指令。 例如,如下的x86彙編語言指令可以使用BIOS的0x10中斷向螢幕列印一個字元。
mov ah, 0x0e
mov al, '!'
int 0x10

BIOS 中斷向解釋

INT 00h
CPU:除零錯,或商不合法時觸發。
INT 01h
CPU:單步陷阱,TF標記為打開狀態時,每條指令執行後觸發。
INT 02h
CPU:非可禁止中斷,如引導自我測試時發生記憶體錯誤。
INT 03h
CPU:第一個未定義的中斷向量,約定俗成僅用於調試程式。
INT 04h
CPU:算數溢出。通常由INTO指令在置溢出位時觸發。
INT 05h
在按下Shift-Print Screen或BOUND指令檢測到範圍異常時觸發。
INT 06h
CPU:非法指令。
INT 07h
CPU:沒有數學協處理器時嘗試執行浮點指令觸發。
INT 08h
IRQ0:可程式中斷控制器每 55 毫秒觸發一次,即每秒 18.2 次。
INT 09h
IRQ1:每次鍵盤按下、按住、釋放。
INT 0Ah
IRQ2:
INT 0Bh
IRQ3:COM2/COM4。
INT 0Ch
IRQ4:COM1/COM3。
INT 0Dh
IRQ5:硬碟控制器(PC/XT 下)或 LPT2。
INT 0Eh
IRQ6:需要時由軟碟控制器調用。
INT 0Fh
IRQ7:LPT1。
INT 10h
顯示服務 - 由BIOS或作業系統設定以供軟體調用。AH=00h 設定顯示模式;AH=01h 設定游標形態;AH=02h 設定游標位置;AH=03h 獲取游標位置與形態;AH=04h 獲取游標位置;AH=05h 設定顯示頁;AH=06h 清除或滾動欄畫面(上);AH=07h 清除或滾動欄畫面(下);AH=08h 讀取游標處字元與屬性;AH=09h 更改游標處字元與屬性;AH=0Ah 更改游標處字元;AH=0Bh 設定邊界顏色;AH=0Eh 在TTY模式下寫字元;AH=0Fh 獲取當前顯示模式;AH=13h 寫字元串。
INT 11h
返回設備列表。
INT 12h
獲取常規記憶體容量。
INT 13h
低級磁碟服務。AH=00h 復位磁碟驅動器;AH=01h 檢查磁碟驅動器狀態;AH=02h 讀扇區;AH=03h 寫扇區;AH=04h 校驗扇區;AH=05h 格式化磁軌;AH=08h 獲取驅動器參數;AH=09h 初始化硬碟驅動器參數;AH=0Ch 尋道;AH=0Dh 復位硬碟控制器;AH=15h 獲取驅動器類型;AH=16h 獲取軟碟機中碟片的狀態。
NT 14h
串口通信例程;AH=00h 初始化串口;AH=01h 寫出字元;AH=02h 讀入字元;AH=03h 狀態。
INT 15h
其它(系統支持例程)。AH=4FH 鍵盤攔截;AH=83H事件等待;AH=84H讀遊戲桿;AH=85HSysRq 鍵;AH=86H等待;AH=87H塊移動;AH=88H獲取擴展記憶體容量;AH=C0H獲取系統參數;AH=C1H獲取擴展 BIOS 數據區段;AH=C2H指針設備功能;AH=E8h, AL=01h (AX = E801h)獲取擴展記憶體容量(自從 1994 年引入的新功能),可獲取到 64MB 以上的記憶體容量;AH=E8h, AL=20h (AX = E820h)查詢系統地址映射;該功能取代了 AX=E801h 和 AH=88h。
INT 16h
鍵盤通信例程。AH=00h 讀字元。AH=01h讀輸入狀態;AH=02h讀 Shift 鍵(修改鍵)狀態;AH=10h讀字元(增強版);AH=11h讀輸入狀態(增強版);AH=12h讀 Shift 鍵(修改鍵)狀態(增強版)。
INT 17h
列印服務;AH=00h 列印字元;AH=01h 初始化印表機;AH=02h 檢查印表機狀態。
INT 18h
執行磁帶上的 BASIC 程式:“真正的”IBM 兼容機在 ROM 里內置 BASIC 程式,當引導失敗時由 BIOS 調用此例程解釋執行。(例:列印“Boot disk error. Replace disk and press any key to continue...”這類提示信息)
INT 19h
加電自檢之後載入作業系統。
INT 1Ah
實時鐘服務。AH=00h讀取實時鐘;AH=01h設定實時鐘;AH=02h讀取實時鐘時間;AH=03h設定實時鐘時間;AH=04h讀取實時鐘日期;AH=05h設定實時鐘日期;AH=06h設定實時鐘鬧鈴;AH=07h重置實時鐘鬧鈴。
INT 1Bh
Ctrl+Break,由 IRQ 9 自動調用。
INT 1Ch
預留,由 IRQ 8 自動調用。
INT 1Dh
不可調用:指向視頻參數表(包含視頻模式的數據)的指針。
INT 1Eh
不可調用:指向軟碟模式表(包含關於軟碟機的大量信息)的指針。
INT 1Fh
不可調用:指向視頻圖形字元表(包含從 80h 到 FFh 的 ASCII 字元的數據)的信息。
INT 41h
地址指針:硬碟參數表(第一硬碟)。
INT 46h
地址指針:硬碟參數表(第二硬碟)。
INT 4Ah
實時鐘在鬧鈴時調用。
INT 70h
IRQ8:由實時鐘調用。
INT 74h
IRQ12:由滑鼠調用
INT 75h
IRQ13:由數學協處理器調用。
INT 76h
IRQ14:由第一個 IDE 控制器所調用
INT 77h
IRQ15:由第二個 IDE 控制器所調用

相關詞條

熱門詞條

聯絡我們