プロテクトモード移行のところでミスしてた。下の部分の話だが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