Машинный код, также известный как машинный язык, представляет собой язык программирования низкого уровня, состоящий из двоичных инструкций, понятных непосредственно аппаратному обеспечению компьютера. Это самый низкий уровень абстракции, с которым люди обычно взаимодействуют при программировании компьютера.

Машинный код специфичен для архитектуры и оборудования конкретной компьютерной системы. Каждый процессор или микроконтроллер имеет свой собственный набор инструкций, а машинный код обеспечивает способ связи с оборудованием и управления им на фундаментальном уровне.

В машинном коде инструкции представлены в виде двоичных чисел, состоящих из единиц и нулей, которые непосредственно соответствуют конкретным операциям, выполняемым центральным процессором компьютера (ЦП). Эти операции могут включать арифметические вычисления, перемещение данных, логические операции, инструкции ветвления и операции ввода/вывода.

Вот пример инструкций машинного кода для гипотетического процессора:

10110000 00100011 01001001 00000001

Эти двоичные числа будут интерпретироваться процессором как конкретные команды для выполнения конкретной операции. Однако машинный код не читается человеком, и его непосредственное написание и понимание могут быть сложными и трудоемкими. Поэтому языки программирования более высокого уровня и ассемблеры обычно используются для написания программ, которые затем перед выполнением транслируются в машинный код компилятором или ассемблером.