BIOS割込みルーチン とは、コンピュータ本体に組み込みで用意されたソフトウエアの一種である。

BIOSプログラムの一部で、機械語の割り込み命令(INT、TRAP、RSTなど)によって呼び出す、ハードウエアを直接扱うためのサービスルーチンが用意される。主にコンピュータを起動した際のオペレーティングシステムを初期化・準備する段階で利用される。

利用方法 x86系列のCPUをもつコンピュータで例示する。

READ_ATTEMPT: PUSH ES ;必要に応じてレジスタ値退避 PUSH AX PUSH BX PUSH DX MOV AX,0x07e0 ;パラメータセット MOV ES,AX MOV AH,2 MOV AL,1 XOR BX,BX MOV DL,1 INT 13H ;プログラムから割り込み発生(呼び出し) POP DX ;必要に応じて退避したレジスタ値を復元 POP BX POP AX POP ES JC READ_ERR ;フラグや戻り値を判定・利用 READ_OK: ... READ_ERR: ...

BIOS割込みルーチンの例 割り込みルーチンの割り当て・機能は、コンピュータの機種ごとに異なる。(ただし、互換機同士であれば同じ)

PC/AT互換機 これは割り込みベクタの一覧(の抜粋)である。ベクタ10Hから後(1AHまで)がBIOS割り込みルーチン。 ベクタ番号処理内容!00HCPUが発生させる:ゼロ除算01HCPUが発生させる:トレース02HNon Maskable Interrupt (NMI)03H(デバッグ(ブレイクポイント)に利用)04HCPUが発生させる:算術オーバーフロー05HCPUが発生させる:境界チェック違反06HCPUが発生させる:無効オペコード07HCPUが発生させる:数値演算コプロセッサ未装着08HIRQ0:システムタイマー09HIRQ1:キーボード0AHIRQ2:割り込みコントローラ(PIC)0BHIRQ3:シリアルポート COM2 / 40CHIRQ4:シリアルポート COM1 / 30DHIRQ5:ISAバス0EHIRQ6:フロッピーディスクコントローラ0FHIRQ7:パラレルポート LPT110Hビデオ処理関係13Hローレベルなディスクアクセス関係14Hシリアルポート関係15H各種サービスルーチン16Hキーボード関係17Hプリンター関係1AHリアルタイムクロック関係70HIRQ8:リアルタイムクロック71HIRQ9:割り込みコントローラ(PIC)72HIRQ10:73HIRQ11:74HIRQ12:PS/2マウス75HIRQ13:数値演算コプロセッサ76HIRQ14:プライマリIDEコントローラ77HIRQ15:セカンダリIDEコントローラ

関連項目 割り込み (コンピュータ) CPU PC/AT

外部リンク Intterupts List - Ralf Brown