; set PE bit
mov cr0, eax
or eax, 1
mov eax, cr0
; far jump (cs = selector of code segment)
jmp cs:@pm
@pm:
; Now we are in PM
Взято из Википедии.
Основная идея - установить (в 1) 0-й бит в cr0 регистре управления.
Но если вы уже находитесь в защищенном режиме (т.е.вы находитесь в windows / linux), безопасность ограничивает вас в этом (вы в кольце 3 - самое низкое доверие).
Так что первым войдите в защищенный режим.