Программирование ЭВМ

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

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

Например, мы можем сказать:

1.«Сложить содержимое ячейки 50 с содержимым ячейки 7778».

2.«Напечатать содержимое ячейки 1066».

3.«Сравнить содержимое ячейки 2000 с содержимым ячейки 2001».

4.«Переслать содержимое ячейки 30 в ячейку 5000».

Мы видим, что каждое из перечисленных предложений содержит глагол:

сложить

напечатать

сравнить

переслать

и один или более объектов или указаний модификации:

содержимое ячейки 50 содержимое ячейки 7778 с содержимым ячейки 2001 в ячейку 5000

В программировании указанным глаголам соответствуют так называемые операции, тогда как объектам, к которым эти глаголы относятся,— операнды.*

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

х+у

мы имеем в виду «сложить х и у». Использование знака(+) между операндами — дело соглашения и не меняет смысла предложения. Если мы напишем это же в том порядке, какой употребляется в обычном языке, то получим

+ху

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

Статья 357 - Картинка 1

имеет следующую машинную структуру:

Статья 357 - Картинка 2

Аналогично команда

Статья 357 - Картинка 3

имеет машинную структуру

Статья 357 - Картинка 4

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

Возвращаясь к нашему примеру, мы будем интерпретировать теперь

+ху

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

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