Introduction à la programmation en assembleur (processeurs 64 bits de la famille 80x86)
1.2. Qu'est-ce qu'un programme en langage machine ?
Définition
  • Un programme en langage machine est une suite d'instructions machine.

  • Une instruction machine est une suite de bits qui contient toutes les informations nécessaires à l'exécution de l'instruction.

D'un point de vue logique, c'est à dire du point de vue du programmeur, le microprocesseur va exécuter chaque instruction les unes après les autres. De fait, chaque instruction possède une adresse. Idéalement, cette adresse pourrait être simplement le rang de l'instruction dans la suite, c'est à dire : 1ère instruction du programme, 2ème instruction du programme, etc.

Or, les instructions sont stockées dans la mémoire de l'ordinateur. Le microprocesseur y accède par blocs de 23x2n bits, le plus souvent 8 bits (1 octet), 16 bits (un mot), 32 bits (un mot long) et plus récemment 64 bits. Plus rarement, on manipulera des données de 24 bits (par exemple pour le traitement d'images) ou des données de 80 bits (nombre flottants étendus).

Définition

Les instructions sont de taille variable. En langage machine, l'adresse d'une instruction est donc l'adresse mémoire où commence cette instruction.

Exemple

Voici par exemple, un petit programme en langage machine totalement factice, écrit en binaire avec une mémoire découpée en octets :

Figure 1 : programme en langage machine (factice)
Figure 1 : programme en langage machine (factice)[Zoom...]