A retenir :
Fiche de Révision : Pointeur d'Instruction et Registres d'Ordre Général
1. Le Pointeur d'Instruction
- Définition :
- Registre qui contient l'adresse de la prochaine instruction à exécuter par le CPU. Aussi appelé contre-programme.
- Évolution selon l'architecture :
- Intel 8086 :
- Registre 16 bits, appelé IP.
- Systèmes 32 bits :
- Registre 32 bits, appelé EIP (Extended Instruction Pointer).
- Systèmes 64 bits :
- Registre 64 bits, appelé RIP (le "R" pour Register).
2. Registres d'Ordre Général (x86/x64)
Généralités
- Systèmes 32 bits :
- Registres de 32 bits.
- Systèmes 64 bits :
- Registres étendus à 64 bits.
- Utilisation :
- Employés pour l'exécution générale des instructions par le CPU.
Les principaux registres
- EAX / RAX (Accumulateur) :
- Fonction :
- Stockage des résultats d'opérations arithmétiques.
- Accès partiel :
- 16 bits via AX
- 8 bits via AL (bits inférieurs) et AH (bits supérieurs).
- EBX / RBX (Base) :
- Fonction :
- Stockage de l'adresse de base pour le référencement.
- Accès partiel :
- 16 bits via BX
- 8 bits via BH et BL.
- ECX / RCX (Compteur) :
- Fonction :
- Utilisé pour les opérations de comptage (boucles, etc.).
- Accès partiel :
- 16 bits via CX
- 8 bits via CH et CL.
- EDX / RDX (Données) :
- Fonction :
- Utilisé dans les opérations de multiplication et de division.
- Accès partiel :
- 16 bits via DX
- 8 bits via DH et DL.
- ESP / RSP (Pointeur de Pile) :
- Fonction :
- Pointe vers le haut de la pile, utilisé avec le registre de segment de pile.
- Caractéristiques :
- En 32 bits : ESP
- En 64 bits : RSP
- Note : Ne peut pas être décomposé en registres plus petits.
- EBP / RBP (Pointeur de Base) :
- Fonction :
- Accès aux paramètres passés par la pile, en association avec le registre de segment de pile.
- Caractéristiques :
- En 32 bits : EBP
- En 64 bits : RBP
- ESI / RSI (Index Source) :
- Fonction :
- Utilisé pour les opérations de chaînage (string operations) avec le registre de segment (DS) en offset.
- Caractéristiques :
- En 32 bits : ESI
- En 64 bits : RSI
- EDI / RDI (Index Destination) :
- Fonction :
- Utilisé pour les opérations de chaînage (string operations) avec le registre Extra Segment (ES) en offset.
- Caractéristiques :
- En 32 bits : EDI
- En 64 bits : RDI
- R8 à R15 :
- Fonction :
- Nouveaux registres à usage général introduits avec les systèmes 64 bits.
- Accès partiel :
- 64 bits par défaut, mais adressables aussi en 32 bits (exemple : R8D), en 16 bits (R8W) et en 8 bits (R8B).