Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

L'assembleur - Les modes d'adressage

Modes d'adressage en assembleur Encyclopédie


On appelle « mode d'adressage » la manière dont la donnée est spécifiée dans une instruction. Selon le mode d'adressage la taille de l'instruction peut varier de 1 à 4 octets.

Il existe 5 modes d'adressage :

Le mode d'adressage implicite

Le mode d'adressage implicite correspond à une instruction ne comportant pas d'opérande. L'instruction est composée du code opération uniquement et sa taille peut varier entre 1 octet et 2 octets selon l'opération.

code opération (1 ou 2 octets)

Ce type d'instruction porte généralement sur des registres. Les opérations d'incrémentation ou de décrémentation d'un registre ont un mode d'adressage implicite.

Le mode d'adressage immédiat

On parle de mode d'adressage immédiat lorsque le code opérande contient une donnée. La taille de la donnée peut varier entre 1 et 2 octets.

code opération (1 ou 2 octets) code opérande (1 ou 2 octets)

Ce type d'instruction met en jeu un registre et une valeur (qu'il s'agisse d'une affectation, une addition, une soustraction ou bien même une comparaison), la taille de l'opérande dépendra donc du type de registre mis en jeu (1 octet pour un registre 8 bits, 2 pour un registre de 16 bits).
Dans le cas de l'instruction MOV BX, 8 l'opérande 8 sera codée sur 16 bits puisqu'il faut l'affecter à un registre 16 bits (BX).

Le mode d'adressage relatif

Ce type de mode d'adressage met en jeu un champ opérande contenant un entier relatif (sa taille est donc un octet).

code opération (1 octet) code opérande (1 octet)

On l'utilise pour les opérations de saut, l'entier relatif est appelé déplacement, il correspond à la longueur du saut que le processeur doit effectuer dans les instructions.

Le mode d'adressage direct

Le code opérande d'une instruction en mode d'adressage direct, contrairement au mode d'adressage immédiat, contient l'adresse d'une donnée en mémoire (au lieu de contenir la donnée). Une adresse étant codée sur 16 bits, la taille du champ opérande est donc de 2 octets.

code opération (1 ou 2 octets) code opérande (2 octets)

Il peut s'agir par exemple de l'affectation à un registre d'une donnée contenue dans une case mémoire. Ce mode d'adressage provoque un temps d'exécution de l'instruction plus long car l'accès à la mémoire principale est plus long que l'accès à un registre.

Le mode d'adressage indirect

Le mode d'adressage indirect permet d'accéder à une donnée par l'intermédiaire d'un registre (le registre BX) qui contient son adresse. Son utilité n'est pas apparente à ce stade, mais l'adressage indirect est très utile lors de l'utilisation de tableaux (parcours des cases d'un tableau) car il suffit d'incrémenter BX de la taille d'une case pour passer d'une case à une autre...

En adressage direct, on affecte directement au registre accumulateur (AX) l'adresse d'une donnée :
MOX AX, [110]

En adressage indirect, on affecte à AX l'adresse contenue dans le registre BX :
MOV AX, [BX]

Trucs & astuces pertinents trouvés dans la base de connaissances

21/02 19h25 Créer une adresse MSN (MSN Messenger)
02/12 16h02 Vérifier une adresse électronique (format du mail) (PHP)
20/10 23h01 Protéger les adresses email contre les bots (Webmaster)
28/09 20h00 Adresses serveurs POP ET SMTP des FAI (Messagerie électronique)
23/09 17h36 Récupérer une adresse IP (Expressions régulières)
22/09 13h36 IP statique (fixe) ou dynamique ? (Sécurité)
31/08 15h45 L'adresse mémoire ne peut pas être 'Read' ou 'Written' (Mémoire)
19/01 13h13 Changer l'adresse IP en ligne de commande avec Netsh (Windows)
16/01 11h03 Comment connaitre mon/son adresse IP ? (Internet)
13/03 16h05 Comment afficher l'adresse IP d'un visiteur ? (PHP)
Assembleur adressage Plus d'astuces sur « Assembleur adressage »

Discussions pertinentes trouvées dans le forum

13/01 20h19 assembleur adresse base pile [Assembleur] adresse de base de la pile Développement 13/01 20h19->iNDi0
26/02 17h44 sauvegarde carnet adresse outlook Sauvegarde carnet adresse outlook Logiciels/Pilotes 05/04 10h50->laissepiC5
12/12 14h28 msn adresse msn [MSN] Créer une adresse pour MSN Internet 10/02 22h24->Romain G102
21/06 14h58 suivre adresse ip Comment suivre une adresse IP? Virus/Sécurité 27/06 02h04->aranjuez3145
31/08 12h57 msn changement adresse msn [MSN] Changement d'adresse MSN, comment faire Internet 22/02 11h57->maxxx40
18/04 19h39 msn nouvelle adresse msn [MSN] créer une nouvelle adresse msn Internet 12/02 17h32->gffsdf36
19/10 15h39 virus 50% adresses ip bloquees [virus] 50% de mes adresses IP sont bloquees Virus/Sécurité 11/11 16h55->Séb0823
31/10 09h56 supprimer historique adresses visitées supprimer historique des adresses visitées Internet 11/03 15h17->touahria hamid22
27/02 21h52 msn supprimer adresses mails msn [MSN] Supprimer les adresses mails sous msn Internet 01/12 17h48->mohamed21
20/03 10h18 connaître adresse ip Comment connaître mon adresse IP ? SVP Internet 17/02 15h10->vieu bison b...17
Discussion fermée Problème résolu Assembleur adressage Plus de discussions sur « Assembleur adressage »

Ce document intitulé « L'assembleur - Les modes d'adressage » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.