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

L'assembleur - Instructions

Instruction en assembleur Encyclopédie


A quoi ressemble une instruction ?

L'instruction est l'élément clé de l'ordinateur car c'est elle qui permet de spécifier au processeur l'action à effectuer. Toutes les instructions sont stockées en mémoire et un compteur dans le processeur permet de passer de l'une à l'autre.
Une instruction est composée de deux éléments :

  • le code opération : action à effectuer par le processeur
  • le champ opérande : donnée ou bien adresse de la case mémoire contenant une donnée

La taille d'une instruction dépend de l'instruction et de l'opérande, elle est généralement de quelques octets (1 à 8). La taille des instructions dépend également de l'architecture du processeur. Elle peut ainsi atteindre 4 octets dans le cas de processeurs 32 bits, voire 8 octets pour les processeurs x86 64 bits. L'octet est l'unité qui est utilisée généralement car elle est pratique pour le stockage de certaines données (notamment les caractères).

code opération champ opérande

Les types d'instructions

L'ensemble des instructions est appelé jeu d'instruction. On peut les répartir selon plusieurs catégories selon le type d'action que son exécution déclenche.

Instructions d'affectation

Les instructions d'affectation permettent de faire des transferts de données entre les registres et la mémoire, c'est-à-dire :

  • soit une écriture (du registre vers la mémoire)
  • soit une lecture (de la mémoire vers un registre)

Instructions arithmétiques et logiques

Ces instructions portent sur le registre AX (l'accumulateur). Elles permettent d'effectuer une opération entre le registre AX et une donnée puis stocker le résultat dans AX. Ces instructions sont :

  • l'addition : AX = AX + donnée
  • la soustraction : AX = AX - donnée
  • l'incrémentation : AX = AX + 1
  • la décrémentation : AX = AX - 1
  • le décalage à gauche
  • le décalage à droite

Instructions de comparaison

Permet de comparer le registre AX à une donnée. Le résultat de la comparaison est indiqué grâce à... des indicateurs...
Ces instructions (ainsi que les instructions de branchement) sont nécessaires pour permettre une « interactivité », c'est-à-dire qu'en fonction de certains paramètres le programme va pouvoir avoir divers comportements. Sans ces indicateurs les programmes auraient un comportement déterminé et le programme ferait constamment les mêmes actions (comme un film...).

Instructions de branchement

Ce type d'instruction permet de sauter à une instruction non consécutive à l'instruction en cours. En l'absence de ce type d'instruction le processeur passe automatiquement à l'instruction suivante (c'est-à-dire l'instruction contiguë (en mémoire) à l'instruction en cours). C'est le registre IP qui repère l'instruction suivante à exécuter. Les instructions de branchement permettent donc de modifier la valeur de ce registre et ainsi de choisir la prochaine instruction à exécuter.

On distingue deux sortes de branchements :

  • Les branchements conditionnels : en fonction d'une condition à satisfaire le processeur traitera le branchement indiqué ou l'instruction suivante.
    • condition satisfaite : exécution de l'instruction située à l'adresse indiquée
    • condition non satisfaite : exécution de l'instruction suivante
    Les branchements conditionnels sont très utiles, notamment pour créer des boucles ou des structures conditionnelles.
  • Les branchements inconditionnels : on affecte une valeur définie au registre IP, c'est-à-dire que l'on ira exécuter l'instruction vers laquelle il pointe après celle en cours quoi qu'il arrive !

Discussions pertinentes trouvées dans le forum

07/06 21h43 executer instruction native assembleur Executer une instruction native C, ASSEMBLEUR Développement 09/06 19h34->altivex112
06/05 18h37 privileged instruction privileged instruction Virus/Sécurité 07/05 19h31->did7125
01/11 10h38 nouveau pc via assembleur écran bleu nouveau PC via un assembleur : bug écran bleu Matériel (hardware) 22/02 11h21->pakistador13
16/09 11h11 instruction installer driver Instruction pour installer un driver Linux/Unix 10/02 21h25->renisaac11
08/11 14h09 prog assembleur faire un prog en assembleur Développement 25/01 13h28->mina11
30/03 21h01 processeur ntvdm instruction autorisée processeur NTVDM instruction non autorisée Windows 14/01 04h25->jack9
06/06 23h23 instruction update mysql PB instruction UPDATE MySQL Webmastering 07/06 16h11->baborge7
16/10 14h28 instruction 0x005368e1 arrêt Instruction 0x005368e1 à l'arrêt !!! Windows 20/01 20h08->BP3
17/05 19h13 instruction autorisée page web instruction non autorisée sur page web Windows 17/05 19h41->le druide1
03/01 18h03 assembleur pile Assembleur Pile Développement 06/01 21h25->sam300020
Discussion fermée Problème résolu Instruction assembleur Plus de discussions sur « Instruction assembleur »

Ce document intitulé « L'assembleur - Instructions » 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.