マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

タスク切り替え

今までTask State Segmentを使っていた。けれど、それをやめて割り込み時にスタックに積まれているEIPを書き換えることで、タスクの切り替えを行おうと思った。しかし、タスクの数が2つの時は問題なく動いたが、3つ以上になると途中で止まってしまう。きっと、汎用レジスタを退避させてないからそうなったんだろうと思ったが、汎用レジスタを退避させたら、タスクが2つのときでも止まってしまった。何かを間違えているらしい