Решение задач на ЭВМ реализуется программным способом, т. е. путем выполнения последовательно во времени отдельных операций над информацией, предусмотренных алгоритмом решения задачи.
Алгоритм — это точно определенная последовательность действий, которые необходимо выполнить над исходной информацией, чтобы получить решение задачи.
Алгоритм решения задачи, заданный в виде последовательности команд на языке вычислительной машины (в кодах машины), называется машинной программой.
Команда машинной программы (иначе, машинная команда) — это элементарная инструкция машине, выполняемая ею автоматически без каких-либо дополнительных указаний и пояснений.
Машинная команда состоит из двух частей: операционной и адресной.
Операционная часть команды — это группа разрядов в команде, предназначенная для представления кода операции машины.
Адресная часть команды — это группа разрядов в команде, в которых записываются коды адреса (адпесов) ячеек памяти машины, предназначенных для оперативного хранения информации, или иных объектов, задействованных при выполнении команды. Часто эти адреса называются адресами операндов, т. е. чисел, участвующих в операции.
По количеству адресов, записываемых в команде, команды делятся на безадресные,
одно-, двух- и трехадресные.
Типовая структура трехадресной команды:
КОП | а1 | а2 | а3 |
где КОП — код операции;
al и а2 — адреса ячеек (регистров), где расположены соответственно первое и второе числа, участвующие в операции;
а3 — адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.
Типовая структура двухадресной команды:
КОП | а1 | а2 |
где al — это обычно адрес ячейки (регистра), где хранится первое из чисел, участвующих в операции, и куда после завершения операции должен быть записан результат операции; а2 — обычно адрес ячейки (регистра), где хранится второе участвующее в операции число.
Типовая структура одноадресной команды:
КОП | а1 |
где al — в зависимости от модификации команды может обозначать либо адрес ячейки (регистра), где хранится одно из чисел, участвующих в операции, либо адрес ячейки (регистра), куда следует поместить число — результат операции.
Безадресная команда содержит только код операции, а информация для нее должна быть заранее помещена в определенные регистры машины (безадресные команды могут использоваться только совместно с командами другой адресности).
Пример 11.1. Поступила представленная на языке символического кодирования команда:
СЛ |
Такую команду следует расшифровать так: "сложить число, записанное в ячейке 0103 памяти, с числом, записанным в ячейке 5102, а затем результат (т.е. сумму) поместить в ячейку 0103".
Примечание. В кодах машины такая команда содержит только двоичные цифры записанных выше объектов.