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