|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Hårdvara
  • Allt-i - ett-skrivare
  • Apple Computers
  • BIOS
  • CD & DVD drives
  • Processorer
  • Computer Drives
  • Bildskärmar
  • Kringutrustning
  • Datorkraft Källor
  • dator Skrivare
  • Computer uppgraderingar
  • Stationära datorer
  • Elektronisk bok läsare
  • Externa hårddiskar
  • Flash Drives
  • Input & Output Devices
  • Kindle
  • Bärbara datorer
  • stordatorer
  • Möss & tangentbord
  • Netbooks
  • Network Equipment
  • Nook
  • bärbara datorer
  • Övrigt Hårdvara
  • PC Computers
  • projektorer
  • RAM , kort och moderkort
  • skannrar
  • Servrar
  • Ljudkort
  • Tablet PC
  • grafikkort
  • arbetsstationer
  • iPad
  • iPhone
  • * Dator Kunskap >> Hårdvara >> Processorer >> Content

    Med vilken monteringskod kan du byta CPU till skyddat läge?

    Du kan inte direkt byta till skyddat läge med en enda monteringsinstruktion. Det är en flerstegsprocess som innebär att du laddar den globala deskriptortabellen (GDT) och ställer in PE-flaggan i kontrollregistret CR0. Här är ett förenklat exempel som visar de viktigaste stegen i montering (förutsatt att du har en fördefinierad GDT laddad på en specifik adress):

    `` `

    .modell platt, stdcall

    .stack 100h

    .data

    GDT_PTR DD GDT_TABLE; Pekare till GDT

    ; ... (definiera din GDT -struktur här)

    .koda

    huvudproc

    ; 1. Ladda GDT Register (GDTR) med adressen till din GDT

    LGDT [GDT_PTR]

    ; 2. Ställ in PE -biten i CR0 -register

    mov eax, cr0

    eller EAX, 1; Ställ in bit 0 (PE -flagga) till 1

    MOV CR0, EAX

    ; 3. Hoppa till ett kodsegment definierat för skyddat läge

    JMP Far Ptr Protected_Mode_Entry

    ; ... (Din kod för skyddat läge startar här)

    Protected_Mode_Entry Proc

    ; ...

    röta

    Protected_Mode_Entry Endp

    huvudslut

    sluthuvud

    `` `

    Förklaring:

    1. `LGDT [GDT_PTR]`: Denna instruktion laddar Global Descriptor Table Register (GDTR) med adressen till din GDT. GDT innehåller deskriptorer för alla segment i skyddat läge, inklusive kodsegment, datasegment och stacksegment.

    2. `eller EAX, 1`: Detta ställer in PE (skyddsaktivering) bit i CR0 -registret. Denna bit styr driftsläget för CPU:0 för verkligt läge, 1 för skyddat läge.

    3. `JMP Far Ptr Protected_Mode_Entry`: Denna instruktion utför ett långt hopp och övergår CPU till skyddat läge. "Far PTR" indikerar att det är ett hopp till ett nytt segment, viktigt för lägesbrytaren.

    Viktiga överväganden:

    * GDT -installation: Du måste definiera din GDT innan du kör den här koden. GDT bör innehålla deskriptorer för alla segment du planerar att använda i skyddat läge.

    * skyddad läge kod: Efter hoppet ska din kod skrivas för skyddat läge. Detta inkluderar att använda segmentväljare för att adressera minne och använda olika instruktioner för minneshantering.

    * Real Mode Boot: Den här koden antar att du redan är i verkligt läge (16-bitars läge). Du måste starta ditt system i verkligt läge innan du går in i skyddat läge.

    Kom ihåg: Detta är ett grundläggande exempel för demonstrationsändamål. Du måste anpassa det till dina specifika krav, inklusive:

    * Definiera en fullständig och lämplig GDT.

    * Ställa in avbrottsbeskrivningstabellen (IDT).

    * Implementering av skyddad lägesminneshantering med segmentering och personsökning.

    * Skriva skyddad lägesspecifik kod för uppgifter du behöver utföra.

    Du kan hitta mer omfattande information om skyddad läge -programmering i Intel- eller AMD -processorhandböckerna.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Är en amd athlon TM x2 dual-core QL-64 2,10 ghz bra?
    ·Vad är klockhastigheten för CPU?
    ·Varför beslutade regionbanken att köpa sex serverdato…
    ·Hur man uppgraderar en NC8430 CPU
    ·Vad är full form av processor i7?
    ·Vad förutspår att CPU -kapaciteten kommer att fördub…
    ·Intel Celeron 420 CPU Performance
    ·Vad är användningen av extra segment i en 8086-proces…
    ·Varför krävs processorn?
    ·Är CPU en ingångsenhet?
    Utvalda artiklarna
    ·Vilken MacBook Pro Har jag
    ·Kan ett moderkort & CPU bytas ut utan att förlora data…
    ·Hur ansluta hörlurar till en dator
    ·Ta bort och installera om skrivarporten
    ·Vad har iPod Touch inte att iPad 2 har?
    ·Hur man byter en Optiplex 170L CPU
    ·Skillnad mellan SD & DD RAM
    ·Ta reda på marknadsvärdet av datorutrustning
    ·Hur man ansluter en stationär till en TV med VGA
    ·Hur man kör Microsoft Exchange Server
    Copyright © Dator Kunskap https://www.dator.xyz