Модуль: Введение в языки программирования


1. Машинный язык


Современные компьютеры невероятно быстры и постоянно становятся быстрее. Однако у компьютеров также есть некоторые существенные ограничения: они изначально понимают только ограниченный набор команд, и им нужно точно сказать, что делать.
 
Компьютерная программа (также обычно называемая приложением ) — это набор инструкций, которые компьютер может выполнить для выполнения некоторой задачи. Процесс создания программы называется программированием.

Программисты обычно создают программы, создавая исходный код (обычно сокращается до кода), который представляет собой список команд, введенных в один или несколько текстовых файлов.

Совокупность физических частей компьютера, составляющих компьютер и выполняющих программы, называется hardware (аппаратная часть или "железо"), например, процессор, материнская плата и т.д. . Когда компьютерная программа загружается в память и оборудование последовательно выполняет каждую инструкцию, это называется запуском или выполнением программы.
 

Машинный язык

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

Вот пример инструкции машинного языка: 10110000 01100001

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

Организация этих инструкций выходит за рамки данного введения, но интересно отметить две вещи. Во-первых, каждая инструкция состоит из последовательности единиц и нулей. Каждый отдельный 0 или 1 называется двоичной цифрой или сокращенно битом . Количество битов, составляющих одну команду, варьируется — например, некоторые ЦП обрабатывают инструкции, длина которых всегда составляет 32 бита, тогда как некоторые другие ЦП (например, семейство x86/x64, которое вы можете использовать) имеют инструкции, которые могут быть переменной длины.

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

time 1000 ms
memory 256 Mb

Комментарий учителя