Jak przełączyć procesor x86 w tryb chroniony
TKW
Protected mode można włączyć przez ustawienie bitu jedności w rejestrze cr0, jest to rejestr 32-bitowy. Można to tak zrobić:
mov eax,cr0
or eax,1
mov cr0,eax
Należy pamiętać, że protected mode jest od 80286, a 32-bitowość od 80386. Przed włączeniem pmode należy ustawić gdt, i wyłączyć przerwania (instrukcją cli).
Samo włączenie trybu chronionego (i załadowanie GDT) nie wystarczy, potrzebny jest jeszcze skok do kodu 32 bitowego - ustawiający deskryptor w rejestrze segmentowym CS.
Składnia Nasm:
; wyłącz obsługę wyjątków i przerwań
cli
; 32 Bitowy kod programu =======================================================
[BITS 32]
protected_mode: