Código máquina
Los números reales que lee el procesador — todo lo demás que llamamos programación es una capa por encima de esto.
El código máquina son instrucciones codificadas como números binarios, ejecutables directamente por una familia de procesadores concreta. Cada instrucción consta de un código de operación que indica qué hacer y de cero o más operandos que indican con qué hacerlo. En x86 una instrucción puede medir entre uno y quince bytes; en ARM y otras arquitecturas RISC tienen longitud fija, lo que simplifica y acelera la decodificación.
El lenguaje ensamblador es un equivalente simbólico directo — MOV en vez de un número — mientras que los compiladores traducen desde lenguajes de más alto nivel hasta el final. Que el código sea específico de cada arquitectura es la razón por la que los programas deben recompilarse para nuevas plataformas, y por la que se inventaron las máquinas virtuales y el bytecode.