2009年9月13日日曜日

ユーザモードタスクの実行サンプル

作りながら学ぶOSカーネル―保護モードプログラミングの基本と実践 ~ 金 凡峻」

引き続きbochs2.4.1でサンプルコードの動作確認中ですが、Chapter7のkernel_5_User_Task.asmも表示されるはずの文字列が表示されません。

pp.219でisr_128_soft_intはEAXを媒介変数として使うため、PUSHして値(座標値)を臨時に保存しておきPOPすると言ってますが、実際のコードを見ると、そうなってませんね。というわけで


push eax ;; 追加

mov ax, SysDataSelector
mov DS, ax
mov ES, ax
mov FS, ax
mov GS, ax

pop eax ;; 追加

というふうに2行追加したら、ちゃんと表示されました。

0 件のコメント: