Código de máquina
Os números que o processador de fato lê — tudo o mais que chamamos de programação é uma camada por cima disso.
Código de máquina são instruções codificadas como números binários, executáveis diretamente por uma família específica de processadores. Cada instrução tem um código de operação, que diz o que fazer, e zero ou mais operandos, que dizem com o quê. No x86, uma instrução pode ter de um a quinze bytes; no ARM e em outras arquiteturas RISC, o tamanho é fixo, o que torna a decodificação mais simples e rápida.
A linguagem assembly é o equivalente simbólico direto — MOV em vez de um número —, enquanto os compiladores traduzem das linguagens de alto nível até esse nível. O código ser específico da arquitetura é a razão de os programas precisarem ser recompilados para novas plataformas, e de terem sido inventados as máquinas virtuais e o bytecode.