Machine code, também conhecida como linguagem de máquina, é a linguagem elementar dos computadores. É lido pela unidade central de processamento do computador (CPU), é composto por números binários digitais e parece uma sequência muito longa de zeros e uns. Em última análise, o código fonte de cada linguagem de programação legível por humanos deve ser traduzido para a linguagem de máquina por um compilador ou um intérprete, porque o código binário é a única linguagem que o hardware do computador pode compreender.
Cada CPU tem a sua própria linguagem de máquina específica. O processador lê e lê instruções, que dizem à CPU para executar uma tarefa simples. As instruções são compostas de um certo número de bits. Se as instruções para um determinado processador são 8 bits, por exemplo, a primeira parte de 4 bits (o opcode) diz ao computador o que fazer e a segunda parte de 4 bits (o operando) diz ao computador que dados usar.
01001000 01100101 01101100 01101100 01101111 00100001
Dependente do processador, os conjuntos de instruções de um computador podem ter todos o mesmo comprimento, ou podem variar, dependendo da instrução específica. A arquitetura do processador em particular determina como as instruções são padronizadas. A execução das instruções é controlada pelo firmware ou pela fiação interna da CPU.
Programadores humanos raramente, ou nunca, lidam diretamente com o código da máquina. Se os desenvolvedores estão depurando um programa em um nível baixo, eles podem usar uma impressão que mostra o programa em sua forma de código de máquina. A impressão, que é chamada de dump, é muito difícil e para trabalhar com uma ferramenta chamada dump. Programas utilitários usados para criar dump muitas vezes representam quatro bits por um único hexadecimal para facilitar a leitura do código da máquina e conter outras informações sobre o funcionamento do computador, como o endereço da instrução que estava sendo executada no momento em que o dump foi iniciado.