Ferragens  
 
Rede de conhecimento computador >> Ferragens >> CPUs >> Content
Com qual código de montagem você pode alternar a CPU para o modo protegido?
Você não pode alternar diretamente para o modo protegido com uma única instrução de montagem. É um processo de várias etapas que envolve o carregamento da tabela de descritores globais (GDT) e a definição do sinalizador de PE no registro de controle CR0. Aqui está um exemplo simplificado demonstrando as etapas principais na montagem (supondo que você tenha um GDT predefinido carregado em um endereço específico):

`` `Assembléia
.Model Flat, stdcall
.Stack 100H

.dados
Gdt_ptr dd gdt_table; Ponteiro para o GDT
; ... (Defina sua estrutura de GDT aqui)

.código
PROC

; 1. Carregue o registro GDT (GDTR) com o endereço do seu GDT
LGDT [GDT_PTR]

; 2. Defina o bit PE no registro CR0
MOV EAX, CR0
ou eax, 1; Defina o bit 0 (bandeira PE) como 1
MOV CR0, EAX

; 3. Pule para um segmento de código definido para o modo protegido
JMP FAR PTR PROTECTED_MODE_ENTRY

; ... (seu código para o modo protegido começa aqui)

Protected_mode_entry Proc
; ...
ret
Protected_mode_entry endp

ENDP PRINCIPAL
final principal
`` `

Explicação:

1. `lgdt [gdt_ptr]`: Esta instrução carrega o registro da tabela de descritores globais (GDTR) com o endereço do seu GDT. O GDT contém descritores para todos os segmentos no modo protegido, incluindo segmentos de código, segmentos de dados e segmentos de pilha.
2. `ou eax, 1`: Isso define o bit PE (proteção de proteção) no registro CR0. Este bit controla o modo de operação da CPU:0 para o modo real, 1 para o modo protegido.
3. Esta instrução executa um salto distante, fazendo a transição da CPU para o modo protegido. O `FAR PTR` indica que é um salto para um novo segmento, essencial para a chave de modo.

Considerações importantes:

* Configuração do GDT: Você deve definir seu GDT antes de executar este código. O GDT deve conter descritores para todos os segmentos que você planeja usar no modo protegido.
* Código de modo protegido: Após o salto, seu código deve ser gravado para o modo protegido. Isso inclui o uso de seletores de segmento para abordar a memória e usar instruções diferentes para gerenciamento de memória.
* Boot de modo real: Este código assume que você já está no modo real (modo de 16 bits). Você precisa inicializar seu sistema no modo real antes de inserir o modo protegido.

Lembre -se: Este é um exemplo básico para fins de demonstração. Você precisará adaptá -lo aos seus requisitos específicos, incluindo:

* Definindo um GDT completo e apropriado.
* Configuração da tabela de descritores de interrupção (IDT).
* Implementando gerenciamento de memória de modo protegido com segmentação e paginação.
* Escrevendo código específico do modo protegido para tarefas que você precisa executar.

Você pode encontrar informações mais abrangentes sobre a programação do modo protegido nos manuais do processador Intel ou AMD.

Anterior :

Próximo :
  Os artigos relacionados
·Em um sistema com n cpus, qual é o número máximo de …
·Quanto custam os computadores de mesa de jogos com os p…
·Dê a você um diagrama da CPU dos 3 componentes? 
·Com que frequência você deve substituir sua CPU? 
·Que informações uma CPU armazena? 
·Quais são as três partes da CPU e o que cada um faz? 
·Como atualizar o CPU Series Compaq 5103CL 5000 
·O que você pode esperar para a velocidade do processad…
·Como faço para instalar um processador Intel 775 Coole…
·Qual opção permite visualizar processos classificados…
  Artigos em destaque
·Como alterar a memória em um laptop Toshiba 
·Como imprimir e-mails e fotos sem um computador 
·Como identificar uma placa NIC 
·Como fazer um 1x1 Rato Aceleração 
·O tablet PC suporta a entrada de voz? 
·Como saber quando a garantia do meu HP Pavilion Expira 
·Como Jogar Speakers Através de um fone de ouvido em um…
·O que é um Tablet Digital 
·Como solucionar meu Oki B4400 
·Como Fazer um Bootable USB Optiplex GS150 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados