Информатика -продвинутый курс




СИСТЕМА КОМАНД - часть 2


Все остальные двухадресные команды с кодами 2-9 представляют собой определенные действия над двумя данными, выполняемые по универсальной схеме

ОП2 операция ОП 1 => ОП2

Например, по команде деления процессор извлекает ОП2, делит его на ОП1 и результат помещает вместо первоначального значения ОП2.

Некоторую особенность имеет команда сравнения. При ее исполнении производится вычитание ОП2 - ОП1, но результат никуда не записывается. («Тогда для чего же вычитать?» - спросите вы? - «Исключительно ради установки управляющих битов, которые в дальнейшем могут быть проанализированы командами условных переходов».)

Арифметические действия осуществляются над целыми числами и результаты их -целочисленные в формате «16-битные целые числа со знаком». При делении получается целая часть частного. Что же касается операций над вещественными числами, то они могут быть реализованы программным путем (соответствующие программы могут быть, например, помещены в одно из ПЗУ).

Перейдем теперь к рассмотрению команд переходов. Как мы уже знаем, они бывают абсолютные,

когда значение адреса для перехода задается явно, и относительные. когда адрес следующей команды вычисляется путем значения текущего программного счетчика и указанного в теле команды смещения. В соответствии с этим в «Е97» есть два типа переходов с кодами операций С и D; их форматы представлены на рис. 4.20, в, г.

Начнем с абсолютного перехода, код которого равен С. Если процессор встретит в программе команду из двух слов

1C0D

0056

то следующей будет выполняться команда с адресом 56. Иными словами, адрес перехода берется из самой команды. В команде 1C0D старшая шестнадцатеричная цифра - модификатор, соответствующий безусловному переходу; С - код операции; 0 - неиспользуемая цифра; D - операнд, указывающий что адрес перехода хранится в следующем слове, составляющем с 1C0D единое целое. Подробности такого способа адресации - в следующем пункте.

По-другому обстоит дело с относительным переходом, код которого D. В качестве примера возьмем команду




Содержание  Назад  Вперед