Quel est le mode d'adressage 8086 ?
Le microprocesseur 8086 prend en charge une grande variété de modes d'adressage, lui permettant d'accéder aux données et aux emplacements mémoire de manière flexible. Ces modes d'adressage déterminent la manière dont l'adresse effective d'un opérande est calculée sur la base des informations fournies dans l'instruction. Le 8086 propose plusieurs modes d'adressage, chacun avec ses caractéristiques uniques :
1. Mode d'adressage d'enregistrement :
- Ce mode d'adressage utilise l'un des registres à usage général (AX, BX, CX, DX) pour spécifier l'opérande.
- L'opérande se trouve directement dans le registre spécifié.
2. Mode d'adressage immédiat :
- L'opérande est inclus directement dans l'instruction elle-même.
- Ce mode est utile pour charger une valeur constante ou des données dans un registre.
3. Mode d'adressage direct :
- L'opérande est situé dans un emplacement mémoire dont l'adresse est explicitement précisée dans l'instruction.
- L'adresse effective est déterminée par l'adresse 16 bits fournie.
4. Enregistrer le mode d'adressage indirect :
- Dans ce mode, l'opérande est situé dans un emplacement mémoire pointé par le contenu d'un registre à usage général.
- Le registre spécifié contient l'adresse de l'emplacement mémoire.
5. Mode d'adressage indirect du registre basé :
- Similaire à l'adressage indirect du registre, mais il ajoute un registre de base (BP ou BX) à la valeur de décalage stockée dans un registre à usage général.
- L'adresse effective est calculée en ajoutant le contenu du registre de base au décalage.
6. Mode d'adressage indexé :
- Utilise une combinaison d'un registre de base (BP ou BX) et d'un registre d'index (SI ou DI) pour calculer l'adresse effective.
- Le registre d'index est mis à l'échelle de 1, 2, 4 ou 8, en fonction de l'attribut de taille spécifié, et ajouté à la valeur du registre de base.
7. Mode d'adressage indexé basé :
- Combine l'adressage indirect de registre basé sur l'adressage indexé.
- L'adresse effective est calculée en additionnant le contenu du registre de base (BP ou BX), le registre d'index mis à l'échelle (SI ou DI) et une valeur de déplacement.
8. Mode d'adressage de chaîne :
- Spécialement conçu pour les opérations sur chaînes, ce mode d'adressage utilise le registre DS comme registre de base et le registre SI ou DI comme registre d'index.
- Il est couramment utilisé pour les opérations de transfert de données de mémoire à mémoire.
9. Mode d'adressage relatif :
- Utilisé pour les sauts et les branches, où l'opérande spécifie une distance relative par rapport à l'instruction actuelle.
- L'adresse effective est calculée en ajoutant la valeur du déplacement relatif au compteur du programme actuel (PC).
10. Mode d'adressage implicite :
- Dans ce mode, l'opérande est implicite ou inhérent à l'instruction elle-même.
- Aucune adresse explicite n'est spécifiée, car l'instruction opère sur des opérandes implicites.
Ces modes d'adressage offrent au microprocesseur 8086 la flexibilité nécessaire pour accéder et manipuler les données à partir de différents emplacements de mémoire et registres. Le choix du mode d'adressage dépend de l'instruction spécifique, du type de données auquel on accède et des objectifs d'optimisation du programmeur.