| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Hardware  
  • All- In- One printere
  • Apple-computere
  • BIOS
  • CD & DVD -drev
  • CPU'er
  • Computer Drives
  • Skærme
  • computerudstyr
  • Computer Strømkilder
  • computer Printere
  • computer opgraderinger
  • Desktop Computere
  • Elektronisk bog Læsere
  • Eksterne harddiske
  • Flash Drives
  • Input & Output Devices
  • Kindle
  • laptops
  • mainframes
  • Mus & Keyboards
  • netbooks
  • netværk udstyr
  • Nook
  • bærbare computere
  • Andet Computer Hardware
  • pc'er
  • projektorer
  • RAM , kort og Bundkort
  • scannere
  • Servere
  • Lydkort
  • Tablet-pc'er
  • Grafikkort
  • arbejdsstationer
  • iPad
  • iPhone
  •  
    Computer Viden >> Hardware >> CPU'er >> Content
    Med hvilken samlingskode kan du skifte CPU til beskyttet tilstand?
    Du kan ikke direkte skifte til beskyttet tilstand med en enkelt samlingsinstruktion. Det er en flertrinsproces, der involverer indlæsning af Global Descriptor Table (GDT) og indstilling af PE-flag i kontrolregisteret CR0. Her er et forenklet eksempel, der demonstrerer de vigtigste trin i samlingen (forudsat at du har en foruddefineret GDT indlæst på en bestemt adresse):

    `` `forsamling

    .Model Flat, stdcall

    .stack 100h

    .data

    Gdt_ptr dd gdt_table; Pointer til GDT

    ; ... (Definer din GDT -struktur her)

    .kode

    Hovedproc

    ; 1. Indlæs GDT -registeret (GDTR) med adressen på din GDT

    LGDT [GDT_PTR]

    ; 2. Indstil PE -bit i CR0 -registeret

    MOV EAX, CR0

    eller eax, 1; Indstil bit 0 (PE -flag) til 1

    Mov CR0, Eax

    ; 3. hopp til et kodesegment defineret for beskyttet tilstand

    JMP Far PTR Protected_mode_entry

    ; ... (din kode til beskyttet tilstand starter her)

    Protected_mode_entry Proc

    ; ...

    ret

    Protected_mode_entry Endp

    HOVED ENDP

    Afslut hoved

    `` `

    Forklaring:

    1. `lgdt [gdt_ptr]`: Denne instruktion indlæser Global Descriptor Table Register (GDTR) med adressen på din GDT. GDT indeholder deskriptorer for alle segmenter i beskyttet tilstand, herunder kodesegmenter, datasegmenter og stakesegmenter.

    2. `eller eax, 1`: Dette indstiller PE (Protection Enable) bit i CR0 -registeret. Denne bit styrer driftstilstanden for CPU:0 for reel tilstand, 1 for beskyttet tilstand.

    3. Denne instruktion udfører et langt spring og overgår CPU'en til beskyttet tilstand. `Far PTR` angiver, at det er et spring til et nyt segment, der er vigtigt for tilstandskontakten.

    Vigtige overvejelser:

    * GDT -opsætning: Du skal definere din GDT, før du udfører denne kode. GDT skal indeholde deskriptorer for alle segmenter, du planlægger at bruge i beskyttet tilstand.

    * Beskyttet tilstandskode: Efter springet skal din kode skrives til beskyttet tilstand. Dette inkluderer brug af segmentvælgere til adressering af hukommelse og brug af forskellige instruktioner til hukommelsesstyring.

    * Real Mode Boot: Denne kode antager, at du allerede er i reel tilstand (16-bit-tilstand). Du skal starte dit system i reel tilstand, inden du går ind i beskyttet tilstand.

    Husk: Dette er et grundlæggende eksempel til demonstrationsformål. Du skal tilpasse det til dine specifikke krav, herunder:

    * Definition af en komplet og passende GDT.

    * Opsætning af interrupt -deskriptortabellen (IDT).

    * Implementering af Protected Mode Memory Management med segmentering og personsøgning.

    * Skrivning af beskyttet mode-specifik kode for opgaver, du har brug for at udføre.

    Du kan finde mere omfattende oplysninger om Protected Mode -programmering i Intel- eller AMD -processor -manualer.

    Forrige :

    næste :
      Relaterede artikler
    ·Instruktioner til en Dell Optiplex CPU Fan Shroud 
    ·Dual Core CPU Versus Quad Core CPU 
    ·Hvad findes de primære komponenter inden for en CPU? 
    ·Forskellen mellem GPU Vs. CPU 
    ·Sådan Control CPU Speed ​​
    ·Hvad er formålet med en CPU -test? 
    ·En sammenligning af AMD 1900 & Celeron E1400 CPU'er 
    ·Er det lige meget, hvilken CPU du sætter i din compute…
    ·Sådan Stop Grønne lys på forsiden af en CPU 
    ·Hvad er den største fordel ved cross assemblers? 
      Anbefalede Artikler
    ·Hvor vigtigt er Processor Speed ​​
    ·Hvor meget er Dell desktop computere? 
    ·Hvordan justerer du den ekstra eksterne skærmdisplay t…
    ·ThinkPad 770Z Specs 
    ·Sådan overclocke en Intel 945 & Asus P5WD2 Premium bun…
    ·Hvad er forskellen mellem DVD & CD diske 
    ·Hvad var nøglen til kommunikationsnetværket? 
    ·Hvilken switchforsyningseffekt til en computer? 
    ·Membrantastaturer Tutorial 
    ·Kan computere skærme kastes i papirkurven? 
    Copyright © Computer Viden https://www.computerdk.com