|
下図のような画面を見たことがないだろうか?「ページ違反」と書いてあるということは許可されていないメモリーを読もうとした証拠である。
下図の画面では「除算オーバーフローエラー」と書いてある。Windowsから「コマンドプロンプト」を呼び出し、その中で0で割るプログラムを実行した場合の例である。本当のMS-DOSからこのプログラムを実行させると、MS-DOSに処理が移行し、何も続きができなくなり、リセットするしか方法がなくなる。
次ページのハードウェア割り込みも含めて、すべての割り込みというのは、何らかの理由により、現在行っている処理をやめ、ほかの処理を行うルーチンに飛ぶことである。どこに、どのように飛ぶのかは後述する。
| インタラプト (割り込み) 【86】 |
|
割り込みと例外の一覧 ベクタ番号 記号 分類 意味 0#DE フォールト 除算エラー 1#DB フォールト/トラップ デバッガ割り込み 2- 割り込み マスクできない割り込み 3#BP トラップ ブレーク ポイント 4#OF トラップ オーバーフローによる割り込み(INTO) 5#BR フォールト 配列境界違反(BOUND) 6#UD フォールト 無効命令 7#NM フォールト コプロセッサ無効 8#DF アボート ダブル フォールト 9- アボート コプロセッサ セグメント オーバーラン (486以降廃止/予約) 10#TS フォールト 無効TSS 11#NP フォールト セグメント不在 12#SS フォールト スタック例外 13#GP フォールト 一般保護例外 14#PF フォールト ページ例外 15- リザーブ 予約 16#MF フォールト コプロセッサ エラー 17#AC フォールト アラインメント違反 【486】 18#MC アボート マシン チェック 【586】 19#XF フォールト ストリーミングSIMD命令例外 【P3/K7】 20〜 31- リザーブ 予約 32〜255- 割り込みかトラップ システム依存