kolibriブートローダーを使用して単純なカーネルを実行しようとしました。1000:0000にロードされています。わかりません、この部分の何が問題になっていますか:
...
; switch to PM
mov eax, cr0
or al, 1
mov cr0, eax
use32
PROTECTED_ENTRY:
mov ax, 00010000b ; DATA
mov ds, ax
mov ss, ax
mov esp, 0xFFFF
jmp $
mov ax, 00011000b ; VIDEO
mov es, ax
mov edi, 0
mov esi, string
int 1
jmp $
デバッガーでは次のようになります
何が起きてる?ESとDSが変更されていないのはなぜですか?
PS私はこのカーネルをkolibriローダーで動作させようとしています: http ://wasm.ru/article.php?article = ia32int