Definition

code machine (langage machine)

Le code machine, ou langage machine, est le langage informatique élémentaire des ordinateurs, composé d'une longue suite numérique binaire de zéros et de uns (bits). 

En sortie, les analyses et les traitements d'un langage de programmation sont toujours exprimés en code machine. A l'issue de la programmation, vos instructions en langage source sont compilées ou (en cas de langage assembleur) regroupées dans du code machine stocké sous la forme d'un fichier exécutable jusqu'à ce qu'un utilisateur lance l'instruction d'exécution via le système d'exploitation (OS). Dans les systèmes d'exploitation des PC, ces fichiers portent généralement l'extension « .exe ».

Chaque processeur possède son propre langage machine, et lit et gère simultanément un certain nombre de bits. Configuré de manière à reconnaître le nombre et le type des bits correspondant à l'opération à réaliser, le processeur cherche la suite de bits correcte avant d'exécuter la prochaine opération. Puis, il lit l'instruction suivante, et ainsi de suite. A chaque instruction de code machine, l'unité centrale (l'UC) exécute une opération simple, par exemple un calcul arithmétique ou le stockage de données dans la mémoire vivre (RAM). L'exécution de code machine peut être contrôlée par firmware ou traitée par le câblage interne de l'UC.

Un outil, dit « dump », sert habituellement à analyser les problèmes et à déboguer les programmes. Il s'agit en fait d'une version imprimée du programme sous la forme de code machine. Comme il serait difficile et inefficace de présenter la totalité du programme sous la forme de zéros et de uns, tous les quatre bits sont représentés par un seul nombre hexadécimal. Les dumps contiennent d'autres informations sur le fonctionnement de l'ordinateur, telles que l'adresse de l'instruction exécutée au lancement de l'outil.

Les programmeurs n'écrivent ni ne lisent presque jamais du code machine, car il est impossible, dans l'absolu, d'établir une corrélation entre le code et une pensée humaine intelligible. Ils privilégient les langages dits de haut niveau, qui sont plus faciles à comprendre et permettent de représenter une tâche avec un nombre bien inférieur de caractères.

Les langages machine sont également appelés langages de programmation de première génération.

 

Cette définition a été mise à jour en avril 2018

Pour approfondir sur Outils de développement