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互換機
編集ベクタ番号 | 処理内容! |
---|---|
00H | CPUが発生させる:ゼロ除算 |
01H | CPUが発生させる:トレース |
02H | CPUが発生させる:NMI |
03H | (デバッグ(ブレイクポイント)に利用) |
04H | CPUが発生させる:算術オーバーフロー |
05H | CPUが発生させる:境界チェック違反 |
06H | CPUが発生させる:無効オペコード |
07H | CPUが発生させる:数値演算コプロセッサ未装着 |
08H | IRQ0:システムタイマー |
09H | IRQ1:キーボード |
0AH | IRQ2:割り込みコントローラ(PIC) |
0BH | IRQ3:シリアルポート COM2 / 4 |
0CH | IRQ4:シリアルポート COM1 / 3 |
0DH | IRQ5:ISAバス |
0EH | IRQ6:フロッピーディスクコントローラ |
0FH | IRQ7:パラレルポート LPT1 |
10H | ビデオ処理関係 |
13H | ローレベルなディスクアクセス関係 |
14H | シリアルポート関係 |
15H | 各種サービスルーチン |
16H | キーボード関係 |
17H | プリンター関係 |
1AH | リアルタイムクロック関係 |
70H | IRQ8:リアルタイムクロック |
71H | IRQ9:割り込みコントローラ(PIC) |
72H | IRQ10: |
73H | IRQ11: |
74H | IRQ12:PS/2マウス |
75H | IRQ13:数値演算コプロセッサ |
76H | IRQ14:プライマリIDEコントローラ |
77H | IRQ15:セカンダリIDEコントローラ |
関連項目
編集外部リンク
編集- Intterupts List - Ralf Brown