taskCountという変数を1で初期化していたが、何故だか初期値が0になっていた。他の場所でexternを付けていたからか?まぁ、それがあってタスク切り替えで何も起こってないかのように見えたが、しっかりタスク切り替えは行われていた。初期化関数内でこのtaskCountを1にして解決。しかしエラーは続く。ある程度動いてはくれるが、途中で止まってしまう。bochsは何も表示してくれなかったがqemuがエラーメッセージをだして落ちた。
qemu: fatal: Trying to execute code outside RAM or ROM at 0x54014278実行コードがRAMかROMの外側にある?何が起こったんだか