BIOS割り込みルーチン

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

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

利用方法

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互換機

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

関連項目

外部リンク

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.