おはようございます。
PICの解説で参考になるページ見つけたんで貼っておきます。
http://www.asahi-net.or.jp/~WR7S-NKMR/BeOS/Documents/IRQ.html
http://www.cqpub.co.jp/column/books/2001a/34331PC_Legacy/default.htm

で、また質問させてください。
sys/boot/i386/btx/btx/btx.s を読んでるんですが、
220行目あたりの「Launch user task」からがサッパリわかりません。

TSSの働きとタスク切替えがよく理解できてないからだと思うんですが、
248行目のiret命令で何が起こるのかわかりません。
(コメントには「To user mode」って書いてあるんですが…)

iretでタスクを切替える場合はフラグレジスタにNTビットがセットされて
なければならない、とインテルのマニュアルにも「はじめて読む486」にも
書いてあるんですが、248行目に到達するまでにNTビットがセットされたような
様子もないんですが…

何かヒントだけでもお願いします。