Come si passa dalla modalità reale a quella protetta in 80386?
1. Abilita il cancello A20:
- Assicurarsi che il gate A20 sia abilitato, consentendo al processore di accedere all'intero spazio di indirizzi a 20 bit. Questa operazione viene in genere eseguita tramite il controller della tastiera o scrivendo su porte I/O specifiche.
2. Imposta i registri dei segmenti:
- Inizializzare i quattro registri di segmento (CS, DS, ES, SS) con indirizzi di base e limiti appropriati per definire i segmenti di memoria in modalità protetta.
3. Carica la tabella descrittore globale (GDT):
- Creare una GDT, che è una struttura dati contenente descrittori di segmento.
- Caricare il registro GDT (GDTR) con l'indirizzo base del GDT.
4. Carica il registro delle attività (TR):
- Configurare un segmento di stato del compito (TSS) e caricare il suo indirizzo di base nel registro TR.
- Il TSS contiene informazioni sull'attività corrente, come il puntatore dello stack e altri dati relativi all'attività.
5. Abilita la modalità protetta:
- Eseguire l'istruzione "MOV AX, 0x10; MOV DS, AX", che abilita il processore a leggere la parola di stato macchina (MSW) dalla posizione di memoria 0x0010.
- Scrivere il valore appropriato nell'MSW per abilitare la modalità protetta (ad esempio, impostare il bit 0).
6. Inizializza gli interrupt:
- Configurare i vettori di interruzione e la tabella dei descrittori di interruzione (IDT) per la modalità protetta.
7. Passa alla modalità protetta:
- Eseguire l'istruzione "JMP FAR PTR 0x10:0x0;LJMP $0, $0", che salta al vettore di interrupt in modalità reale a 0x0010:0x0000 e quindi esegue un salto in lungo al segmento 0, offset 0 in modalità protetta.
Dopo aver eseguito questi passaggi, il processore entrerà in modalità protetta. È importante notare che i dettagli specifici e la sequenza dei passaggi possono variare a seconda del modello esatto del processore 80386 e del sistema operativo o del software utilizzato. L'inizializzazione e la gestione corrette della gestione della memoria, della segmentazione e di altre funzionalità della modalità protetta sono essenziali per il corretto funzionamento del sistema.