Программирование на JAVA

Предположим, что процессором поддерживаются двухадресные команды в виде:

Операция МестоНазначения,Источник

Команда Add такого типа

Add A,B

будет выполнять операцию A ← [А] + [В]. После вычисления суммы результат бу­дет переслан обратно в память и сохранен по адресу A с заменой исходных данных, хранившихся по этому адресу. Это означает, что A является и исходным, и ре­зультирующим операндом команды.

В случае двухадресных команд для решения нашей задачи одной двухадресной команды недостаточно. Потребуется еще одна двухадресная команда, которая копирует значение из одного места па­мяти в другое. Вот она:

Mov С,A

Эта команда выполняет операцию C ← [A], оставляя содержимое памяти по адресу A неизменным. Команда образована от слова Move, означающего «перемещение», использовано здесь не совсем точно: более уместно было бы назвать эту команду Copy (копиро­вание). Однако именно это, первое, название команды давно закрепилось в ком­пьютерном мире. Операция С ← [А] + [В] может быть выполнена помощью двух команд и в такой последовательности:


<< назад вперед >>