Intel 80286
80286で、DOSやBIOSの資産を継承しつつ、更に仮想記憶機能を生かすためにはリアルモードとプロテクトモードの間を往復することが必要だが、80286にはプロテクトモードからリアルモードへの復帰命令が無く、復帰にはCPUのリセット信号線を有効にするしかなかった。そのため、80286搭載機では特定のI/Oポートを操作することによりCPUのリセットパルスを発生させるハードウェアを持っており、ソフトウェアからCPUのみのリセットを行うことができた。BIOSの初期化プログラムの中で通常のハードウェアリセット(電源ONまたはリセットスイッチ押下)と前述のソフトウェアリセットを区別し、初期化方法を切り替えるという処理が必要だった。これら一連の処理はオーバーヘッドが大きいため、結果的に80286を用いたリアル/プロテクトモード間のスイッチングは非効率的なものとなった。
なお後継の80386以降では、両モード間を任意に往復できる機能や仮想86モードなどを備えていた。
リアルモードへ戻るための方法はハードウェア独自のものとなっており、具体的な手順は以下のようにハードウェアによって異なる。
メモリ上に無いスワップアウトされたセグメントにアクセスした場合に発生する。この割り込みは80286のプロテクトモードで仮想記憶のために使用される。
割り込み12:スタック・フォルト
割り込み13:一般保護例外
80286のリアルモードでは、オフセットFFFFにあるワードオペランドをアクセスしたり、オフセットFFFFから複数バイトの命令を実行しようとすると発生する。8086ではオフセット0にラップアラウンドし例外は発生しない。80286のプロテクトモードでは、データセグメント内の命令の実行、コードセグメント内のデータの書き替え、現在の特権レベルより高い特権レベルのセグメントへのアクセスなどでも一般保護例外が発生する。
割り込み14 - 15:インテル予約済み
割り込み16:コプロセッサ・エラー
IBM PC/ATでは80287のERROR#ピンを80286に直結せず、割り込みコントローラ8259Aに接続する設計とした。コプロセッサ(FPU)を内蔵した80486以降のCPUではIBM PC/ATとの互換性を維持するためにCPUにFERR#, IGNNE#というピンを追加したが、CR0レジスタのNEビットを1にすると8259A経由ではなく本来の割り込み16でコプロセッサのエラーを通知する。
割り込み17 - 31:インテル予約済み