Машинный код
Те самые числа, которые читает процессор, — всё остальное, что мы называем программированием, надстроено поверх них.
Машинный код — это инструкции, закодированные двоичными числами и напрямую исполняемые процессорами определённого семейства. Каждая инструкция состоит из кода операции, говорящего, что делать, и нуля или более операндов, говорящих, с чем. На x86 инструкция занимает от одного до пятнадцати байт; в ARM и других RISC-архитектурах длина фиксирована, что упрощает и ускоряет декодирование.
Язык ассемблера — прямой символический эквивалент: MOV вместо числа, — а компиляторы переводят в машинный код с языков более высокого уровня. Привязка к архитектуре — единственная причина, по которой программы приходится перекомпилировать под новые платформы, и причина, по которой придумали виртуальные машины и байт-код.