Qu'est-ce que le mode d'adressage des registres ?
Voici quelques modes d'adressage de registre courants :
1. Enregistrez l'adressage direct :
Dans l'adressage direct du registre, l'opérande est le registre lui-même. L'opcode de l'instruction spécifie le registre à utiliser. Exemple:
```assemblage
AJOUTER R1, R2 ; Ajoute le contenu de R2 à R1 et stocke le résultat dans R1
```
2. Enregistrez l'adressage indirect :
Dans l'adressage indirect de registre, l'opérande est l'adresse mémoire stockée dans un registre. Le contenu du registre est utilisé comme adresse à partir de laquelle l'opérande réel est récupéré. Exemple:
```assemblage
AJOUTER (R1), R2; Ajoute le contenu de l'emplacement mémoire pointé par R1 à R2 et stocke le résultat dans R2
```
3. Enregistrez l'adressage relatif :
Dans l'adressage relatif de registre, une valeur de déplacement est ajoutée au contenu d'un registre pour former l'adresse effective de l'opérande. Le déplacement peut être une constante ou la valeur d'un autre registre. Exemple:
```assemblage
AJOUTER [R1+10], R2; Ajoute le contenu de l'emplacement mémoire à l'adresse R1+10 à R2 et stocke le résultat dans R2
```
4. Enregistrez l'adressage décalé :
Dans l'adressage par décalage de registre, le contenu d'un registre est ajouté à une adresse de base pour former l'adresse effective de l'opérande. L'adresse de base est généralement une constante. Exemple:
```assemblage
AJOUTER [1000+R1], R2; Ajoute le contenu de l'emplacement mémoire à l'adresse 1000+R1 à R2 et stocke le résultat dans R2
```
5. Adressage indexé :
Le mode d'adressage indexé utilise un registre d'index pour modifier l'adresse de base. Il combine l'adresse de base avec la valeur mise à l'échelle du registre d'index. Exemple:
```assemblage
AJOUTER [R1+R2], R3; Ajoute le contenu de l'emplacement mémoire à l'adresse R1+2*R2 à R3 et stocke le résultat dans R3
```
6. Adressage à incrémentation/décrémentation automatique :
En mode d'adressage à incrémentation automatique, le registre contenant l'adresse est incrémenté après l'accès à l'opérande. En mode d'adressage à décrémentation automatique, il est décrémenté avant d'accéder à l'opérande. Ceci est couramment utilisé pour les opérations itératives. Exemple:
```assemblage
AJOUTER [R1++], R2; Ajoute le contenu de l'emplacement mémoire à l'adresse R1 à R2 et incrémente R1
```
Ce ne sont là que quelques exemples de modes d’adressage de registre. Différentes architectures de jeu d'instructions (ISA) peuvent avoir différents modes d'adressage, chacun ayant ses propres avantages et utilisations.