Registres du x86
Le 8086/8088 comporte quatre registres généraux de 16 bits appelés AX, BX, CX, DX. Cependant, son jeu d'instructions comporte quelques spécialisations[1] :
- BX est utilisé comme registre d'index (adressage dit de base) ;
- CX sert à contrôler des boucles introduites par l'instruction LOOP ;
- DX est utilisé pour certaines divisions.
Il comporte également quatre registres de segment appelés :
- CS (Code Segment) : sera utilisé chaque fois qu'il s'agit d'une adresse du « code » (du programme), c’est-à-dire de IP ;
- DS (Data Segment) : sera utilisé chaque fois qu'il s'agit d'une adresse de « données », c'est-à-dire des variables du programme, autrement dit, tous les « registres de données » (AX, BX, CX, DX) et également SI pour les « instructions de string » (voir « ES » ci-dessous) ;
- SS (Stack Segment) : utilisé avec les registres SP et BP ; la pile sert par exemple à garder en mémoire les contenus des registres CS et IP lors de l'exécution d'instructions call ou des interruptions ;
- ES : utilisé essentiellement avec le registre DI pour les « instructions de string » (« string primitive instructions ») qui permettent des transferts d'emplacements en mémoire contigus (« en chaîne »).
Registres du mode protégé[modifier | modifier le code]
Certains de ces registres peuvent se trouver dans le microprogramme du processeur. Sur architecture x86, pour le mode protégé :
- GDTR où est stockée l'adresse de la table globale de descripteurs (GDT) ;
- LDTR où est stockée l'adresse de la Table locale de descripteurs (en) (LDT) du processus courant ;
- IDTR où sont stockées l'adresse et la taille de l'IDT (Interrupt Descriptor Table) ;
- TR où est stockée l'adresse du TSS du processus courant ;
- CR0 (Control Register 0 ou MSWR pour Machine Status Word Register) où sont stockés des indicateurs pour l'ensemble du système (activation de la segmentation et de la pagination entre autres) ;
- CR3 (Control Register 3 ou PDBR pour Page Directory Base Register) où est stockée l'adresse du Page Directory courant (pagination).
Références[modifier | modifier le code]
- Programmer en langage machine sur PC, Hölger Schäkel, Micro Application, 1991. Chapitre 2.