Idioma :
SWEWE Membre :Login |Registre
Cercar
Comunitat enciclopèdia |Enciclopèdia Respostes |Enviar pregunta |Coneixement de vocabulari |Pujar coneixement
Anterior 2 Pròxim Seleccioneu Pàgines

Mode protegit

Format de descriptor de segment es mostra a continuació:

Específic per als segments de codi i de dades, es mostra a continuació el seu format:

Aquí està una GDT etapa temporal en Arrencada en mode protegit i els ajustaments. Això defineix tres descriptors de camp: el primer és els requisits del sistema descriptor buit és una referència als dos primers 4 GB snippet espai lineal, les tres primeres són les referències a 4 GB d'espai lineal segment de dades. Aquesta és la posició més baix GDT "Bàsic Flat Model" segons sigui necessari, però l'etapa d'arrencada, només per entrar al mode protegit, i proporcionar un espai continu i lineal el major propòsit de la base és suficient.

# Taules de descriptors

GDT:

. Paraula 0, 0, 0, 0 # maniquí

. Paraula 0xFFFF # 4 Gb - (0x100000 * 0x1000 = 4 Gb). Paraula adreça base 0 # = 0

. Paraula 0x9A00 # Una lectura / executiu

. Paraula 0x00CF # granularitat = 4096, 386

# (5a mossegada de límit)

. Paraula 0xFFFF # 4 Gb - (0x100000 * 0x1000 = 4 Gb)

. Paraula adreça base 0 # = 0

. Word 0x9200 # dades de lectura / escriptura

. Paraula 0x00CF # granularitat = 4096, 386

# (5a mossegada de límit)

Carregant Descripció

Després de configurar la GDT, necessitem instrucció lgdt direcció d'entrada GDT conjunt GDT i la mida de la taula es carrega registre GDTR.

GDTR registre consta de dues parts de direcció de base lineal :32-bits, així com una mida GDT 16 bits (en bytes). Cal assenyalar que, per a la direcció base lineal de 32 bits ha de ser de 32 bits de l'adreça física absoluta, en lloc de en relació amb el desplaçament d'un segment. I Arrencada etapa, abans d'entrar en la manera protegida, fixem CS i DS probablement no és zero, per la qual cosa hem de calcular l'adreça física absoluta GDT.

Per dur a terme ordres lgdt, cal posar les dues parts d'una posició de memòria, llavors la comanda serà passat a aquesta adreça de memòria de localització lgdt com operant. Llavors comandament lgdt guarden automàticament en les dues parts del valor d'aquesta posició es carrega registre GDTR.

# Aquesta és la GDTR ubicació d'emmagatzematge requerit de dues parts

gdt_48:

. Paraula GDT límit 0x8000 # = 2048,

# 256 entrades GDT

. Paraula 0, 0 # base de GDT (emplenat més endavant)

# En el següent codi s'utilitza per calcular l'adreça lineal de la GDT de 32 bits, i el carrega en registre GDTR.

xorl% eax,% eax gdt_base # Ets

movw% ds,% x # (Converteix% ds: GDT a un ptr lineal)

shll,% eax

supl $ GDT,% eax


Anterior 2 Pròxim Seleccioneu Pàgines
Usuari Revisió
Sense comentaris encara
Vull comentar [Visitant (3.14.*.*) | Login ]

Idioma :
| Comproveu el codi :


Cercar

版权申明 | 隐私权政策 | Drets d'autor @2018 Coneixement enciclopèdic del Món