Le code machine, également appelé langage machine, est le langage élémentaire des ordinateurs. Il est lu par l’unité centrale de traitement (CPU) de l’ordinateur, est composé de nombres binaires numériques et ressemble à une très longue séquence de zéros et de uns. En fin de compte, le code source de chaque langage de programmation lisible par l’homme doit être traduit en langage machine par un compilateur ou un interprète, car le code est le seul langage que le matériel informatique peut comprendre.
Chaque unité centrale de traitement a son propre langage machine spécifique. Le processeur lit et traite les instructions, qui lui indiquent d’effectuer une tâche simple. Les instructions sont composées d’un certain nombre de bits. Si les instructions d’un processeur particulier sont de 8 bits, par exemple, la première partie de 4 bits (l’opcode) indique à l’ordinateur ce qu’il doit faire et la deuxième partie de 4 bits (l’opérande) indique à l’ordinateur les données à utiliser.
01001000 01100101 01101100 01101100 01101111 00100001
Selon le processeur, les jeux d’instructions d’un ordinateur peuvent tous être de la même longueur, ou ils peuvent varier, selon l’instruction spécifique. L’architecture du processeur particulier détermine la façon dont les instructions sont structurées. L’exécution des instructions est contrôlée par le micrologiciel ou le câblage interne de l’unité centrale.
Les programmeurs humains ne traitent plus que rarement, voire jamais, directement avec le code machine. Si les développeurs déboguent un programme à un niveau bas, ils peuvent utiliser une impression qui montre le programme sous sa forme de code machine. L’impression, qui est appelée un dump, est très difficile et à travailler avec un outil appelé dump. Les programmes utilitaires utilisés pour créer des dumps représentent souvent quatre bits par un seul hexadécimal pour faciliter la lecture du code machine et contiennent d’autres informations sur le fonctionnement de l’ordinateur, comme l’adresse de l’instruction en cours d’exécution au moment où le dump est lancé.