Kako preklopite iz realnega načina v zaščitenega v 80386?
1. Omogoči vrata A20:
- Prepričajte se, da so vrata A20 omogočena, kar procesorju omogoča dostop do celotnega 20-bitnega naslovnega prostora. To se običajno izvede prek krmilnika tipkovnice ali s pisanjem na določena V/I vrata.
2. Nastavite registre segmentov:
- Inicializirajte štiri segmentne registre (CS, DS, ES, SS) z ustreznimi osnovnimi naslovi in omejitvami za definiranje pomnilniških segmentov v zaščitenem načinu.
3. Naloži tabelo globalnih deskriptorjev (GDT):
- Ustvarite GDT, ki je podatkovna struktura, ki vsebuje deskriptorje segmentov.
- Naložite register GDT (GDTR) z osnovnim naslovom GDT.
4. Naloži register opravil (TR):
- Nastavite segment stanja naloge (TSS) in naložite njegov osnovni naslov v register TR.
- TSS vsebuje informacije o trenutnem opravilu, kot je njegov kazalec sklada in drugi podatki, povezani z opravilom.
5. Omogoči zaščiteni način:
- Izvedite navodilo "MOV AX, 0x10; MOV DS, AX", ki procesorju omogoči branje statusne besede stroja (MSW) s pomnilniške lokacije 0x0010.
- Zapišite ustrezno vrednost v MSW, da omogočite zaščiteni način (npr. nastavite bit 0).
6. Inicializiraj prekinitve:
- Konfigurirajte vektorje prekinitev in tabelo deskriptorjev prekinitev (IDT) za zaščiteni način.
7. Preklopite v zaščiteni način:
- Izvedite navodilo "JMP FAR PTR 0x10:0x0;LJMP $0, $0", ki skoči na prekinitveni vektor realnega načina pri 0x0010:0x0000 in nato izvede dolg skok na segment 0, odmik 0 v zaščitenem načinu.
Po izvedbi teh korakov bo procesor vstopil v zaščiteni način. Pomembno je vedeti, da se lahko posebne podrobnosti in zaporedje korakov razlikujejo glede na natančen model procesorja 80386 in operacijski sistem ali programsko opremo, ki se uporablja. Pravilna inicializacija in obravnavanje upravljanja pomnilnika, segmentacije in drugih funkcij zaščitenega načina sta bistvena za pravilno delovanje sistema.