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

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

すさまじいミス

プロテクトモード移行のところでミスしてた。下の部分の話だがANDにするはずのところでORにしてる…

    MOV EAX, CR0         ;CR0を読み込む
    OR EAX, 0x7fFFffFF
    OR EAX, 0x00000001   ;プロテクトモード移行用のビットを1にする
    MOV CR0, EAX

正しくは下のとおりだった。何をやっているんだ俺。上のやつでは、ほとんどのビットが立ってしまう

    MOV EAX, CR0         ;CR0を読み込む
    AND EAX, 0x7fFFffFF
    OR EAX, 0x00000001   ;プロテクトモード移行用のビットを1にする
    MOV CR0, EAX