Existem 2 modos: real e protegido. No modo real, você pode endereçar apenas 1 MiB de memória. As interrupções do BIOS são acessíveis apenas no modo real. Endereços A0000 - FFFFF são mapeados: A0000 - BFFFF é memória de vídeo, F0000 - FFFFF é ROM BIOS, onde o código de rotinas de serviço de interrupção da BIOS está localizado. Não há níveis de privilégio no modo real. Se você executar a instrução "int n", isso acontece: flags, cs, ip são armazenados na pilha. O word em n * 4 + 2 é carregado em cs e a palavra em n * 4 é carregada em ip.
O modo protegido é iniciado definindo o bit 0 do registrador cr0. Então você tem os 4 níveis de privilégio. Mas antes de iniciá-lo, você deve habilitar o A20, configurar as bases de interrupção do IRQ 0-7 e IRQ 8-15, crie IDT, GDT.
A paginação é iniciada configurando o bit 31 de cr0. Antes de iniciá-lo, você deve criar o diretório de páginas e as tabelas de páginas e definir cr3 para apontar para o diretório de páginas.