割り込み機構

割り込みはcliで禁止され、stiで許可される。
割り込みに対する処理はIDTで定義される。
構造はグローバルディスクリプタテーブルに類似しており、割り込みゲート、トラップゲート、タスクゲートの三種類のゲートディスクリプタが割り込み番号順に並べられる。
割り込みゲートとトラップゲートはコールゲートと同じ形をしており、割り込みがかかると設定されたアドレスにジャンプする。
割り込みゲートでは割り込みが自動的に禁止されるが、トラップゲートでは禁止されない。
タスクゲートでは、割り込みがかかると設定されたタスクへタスク切り替えが行われる。
切り替えはセグメント間コールのように行われるので、iretで切り替え前のタスクに戻る事が出来る。