BIOS割り込みルーチン

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 

Category:コンピュータアーキテクチャ
Category:BIOS
Category:API