Qu'est-ce qu'une adresse effective en architecture microprocesseur ?
Définition
L'Adresse Effective (EA) est l'adresse mémoire finale, calculée utilisée pour récupérer un opérande ou une instruction pendant l'exécution. Elle résulte de la combinaison des composants d'adresse spécifiés par le mode d'adressage de l'instruction.
Composants
- Adresse de base : Base segment (CS, DS, SS, ES) ou registre (BX, BP).
- Index / Décalage : Registre (SI, DI) ou déplacement immédiat (8/16-bit).
- Facteur d'échelle : (x86 32/64-bit) 1, 2, 4, 8 × index.
Modes d'adressage courants & Calcul EA
| Mode | Exemple Assemblage | Formule Adresse Effective |
|---|---|---|
| Immédiat | MOV AX, 1234H | N/A (opérande dans instruction) |
| Registre | MOV AX, BX | N/A (opérande dans registre) |
| Direct | MOV AX, [1234H] | EA = Segment×16 + 1234H |
| Indirect Registre | MOV AX, [BX] | EA = DS×16 + BX |
| Base | MOV AX, [BX+10H] | EA = DS×16 + BX + 10H |
| Indexé | MOV AX, [SI+20H] | EA = DS×16 + SI + 20H |
| Base Indexé | MOV AX, [BX+SI] | EA = DS×16 + BX + SI |
| Base Indexé + Dép | MOV AX, [BX+SI+30H] | EA = DS×16 + BX + SI + 30H |
| Relatif (IP-relatif) | JMP SHORT LABEL | EA = IP + déplacement signé |
Segment:Offset → Adresse Linéaire (Mode Réel)
Adresse Physique = (Registre Segment << 4) + Décalage Effectif
En Mode Protégé/Long : EA → Adresse Linéaire → (Pagination) → Adresse Physique.
Pourquoi ça importe
- Détermine l'emplacement mémoire réel accédé.
- Permet code indépendant de position, cadres pile, tableaux, structures.
- Limites segments & permissions pagination vérifiées contre EA/Adresse Linéaire.
