Postindexé

Définition, exemples et bonnes pratiques

À retenir

  • L'accès à la donnée se fait AVANT la modification de l'adresse.
  • Cela permet de gagner du temps et de réduire le nombre d'instructions dans une boucle.
  • C'est une technique typique des architectures matérielles optimisées.

Se dit d'une méthode de lecture de la mémoire par un processeur où l'on utilise d'abord une adresse précise pour récupérer une information, puis on modifie automatiquement cette adresse pour pointer vers l'élément suivant. C'est comme si un lecteur lisait une ligne d'un livre et que son doigt se déplaçait tout seul sur la ligne suivante juste après avoir fini sa lecture.

Étymologie

Composé du préfixe latin post- (signifiant « après ») et du mot indexé. Le terme souligne que la mise à jour de l'index (l'adresse de référence) intervient après l'accès à la donnée.

Exemples d'usage

  • En langage assembleur ARM, une instruction de chargement peut lire une valeur à l'adresse contenue dans un registre, puis ajouter 4 à ce registre pour passer à l'entier suivant en une seule opération.
  • Le parcours d'une liste de nombres dans un tableau où le pointeur avance de lui-même à chaque lecture.

Cas d'usage

Ce concept est principalement utilisé dans la programmation de bas niveau (assembleur) et la conception de processeurs (architecture RISC notamment). Il permet d'accélérer le traitement des tableaux et des listes en évitant d'écrire une ligne de code supplémentaire pour incrémenter manuellement un compteur ou un pointeur.

Bonnes pratiques

Lorsqu'on utilise l'adressage postindexé, il faut être vigilant à ne pas écraser par erreur l'adresse de base si elle doit être réutilisée plus tard, car le registre est modifié de façon permanente par l'instruction.

Synonymes

auto-incrémenté adressage avec post-modification

Antonymes

préindexé pré-indexé

Conseil

Pour bien visualiser le concept, imaginez un curseur qui se déplace automatiquement d'une case vers la droite à chaque fois que vous tapez une lettre sur votre clavier : vous écrivez (accès), puis le curseur bouge (mise à jour).

Questions fréquentes

Quelle est la différence avec l'adressage préindexé ?

Dans le préindexé, l'adresse est modifiée AVANT d'accéder à la donnée, alors que dans le postindexé, elle est modifiée APRÈS.

Est-ce que tous les processeurs utilisent cela ?

Non, cela dépend de l'architecture. C'est très courant sur les processeurs ARM, mais absent ou géré différemment sur les architectures x86 classiques.