Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Hardware >> CPU's >> Content
Met welke assemblagecode kunt u CPU schakelen naar beschermde modus?
U kunt niet rechtstreeks overstappen naar de beschermde modus met een enkele assemblage -instructie. Het is een multi-stappen proces waarbij de Global Descriptor Table (GDT) wordt geladen en de PE-vlag in het Control Register CR0 instelt. Hier is een vereenvoudigd voorbeeld dat de belangrijkste stappen in de montage aantoont (ervan uitgaande dat u een vooraf gedefinieerde GDT hebt geladen op een specifiek adres):

`` `Assemblage

.model plat, stdcall

.stack 100h

.gegevens

Gdt_ptr dd gdt_table; Aanwijzer naar de GDT

; ... (definieer hier uw GDT -structuur)

.code

Hoofdproces

; 1. Laad het GDT -register (GDTR) met het adres van uw GDT

LGDT [GDT_PTR]

; 2. Stel het PE -bit in in CR0 -register

MOV EAX, CR0

of eax, 1; Stel bit 0 (PE -vlag) in op 1

MOV CR0, EAX

; 3. Spring naar een codesegment gedefinieerd voor beschermde modus

jmp far ptr protected_mode_entry

; ... (Uw code voor beschermde modus begint hier)

protected_mode_entry Proc

; ...

ret

protected_mode_entry endp

Hoofd endp

Eind Main

`` `

Verklaring:

1. `LGDT [GDT_PTR]`: Deze instructie laadt het Global Descriptor Table Register (GDTR) met het adres van uw GDT. De GDT bevat descriptoren voor alle segmenten in beschermde modus, inclusief codesegmenten, gegevenssegmenten en stack -segmenten.

2. `of eax, 1`: Dit stelt de PE (Protection Enable) bit in het CR0 -register in. Deze bit regelt de bewerkingsmodus van de CPU:0 voor echte modus, 1 voor beschermde modus.

3. `JMP FAR PTR Protected_Mode_Entry`: Deze instructie voert een versprong uit, waarbij de CPU wordt overgebracht naar de beschermde modus. De `far ptr` geeft aan dat het een sprong naar een nieuw segment is, essentieel voor de modusschakelaar.

Belangrijke overwegingen:

* GDT -instelling: U moet uw GDT definiëren voordat u deze code uitvoert. De GDT moet descriptoren bevatten voor alle segmenten die u in de beschermde modus wilt gebruiken.

* beschermde moduscode: Na de sprong moet uw code worden geschreven voor de beschermde modus. Dit omvat het gebruik van segmentselectors voor het aanpakken van geheugen en het gebruik van verschillende instructies voor geheugenbeheer.

* ECHTE MODE BOOT: Deze code veronderstelt dat u al in de echte modus (16-bits modus) bent. U moet uw systeem opstarten in de echte modus voordat u de beschermde modus invoert.

Onthoud: Dit is een fundamenteel voorbeeld voor demonstratiedoeleinden. U moet het aanpassen aan uw specifieke vereisten, waaronder:

* Een complete en geschikte GDT definiëren.

* Het instellen van de interrupt -descriptor -tabel (IDT).

* Geproteerde modus geheugenbeheer implementeren met segmentatie en paging.

* Schrijven van beschermde modus-specifieke code voor taken die u moet uitvoeren.

U kunt meer uitgebreide informatie vinden over programmering met beschermde modus in de Intel- of AMD -processorhandleidingen.

Previous: Next:
  CPU's
·Welke factoren beïnvloeden de…
·Wat is het belangrijkste doel …
·Welke informatie slaat een CPU…
·Intel CPU Types 
·Typen CPU Cooling 
·Waarom hebben servers 2 proces…
·Het upgraden van een DC7700 CP…
·Hoe kan ik een oud moederbord …
·Hoe maak je een Intel 6600 CPU…
  Related Articles
Welk type poort wordt gebruikt voor lage…
Wat zijn drie manieren waarop muzikanten…
Welk apparaat heeft een stuurprogramma n…
Zou een computer met drive voor CD-RW CD…
Wat is het volgende een uitvoerapparaat?…
Interface -apparaten communiceren met de…
Welke van deze is een scanner -muis van …
Waarom componenten niet uitschakelen met…
Welke poorten op een computer vergemakke…
  Hardware Articles
·Hoe kan ik mijn harde schijf leegmaken ?…
·Wat zijn RAW-sockets? 
·Hoe te Cartridges Demonteer in Samsung M…
·Hoe te Glossy Pictures Scan 
·Wat is de FireWire Capability voor een l…
·Hoe bèta-apps op de iPhone te installer…
·Soorten Coax Gebruikt voor ControlNet 
·Hoe de video RAM Verhoog op een HP 6710 …
·Is een geluidskaart een invoer- of uitvo…
Copyright © Computer Kennis https://www.nldit.com