Cтраница 2
В оперативных командах операнд интерпретируется как код операции, выполняемой над значениями, находящимися в оценочном стеке. В однобайтовой команде может быть закодировано до 16 оперативных команд. [16]
При выполнении команды OPR ее операнд интерпретируется как код операции над значениями, находящимися в стеке. Этот прием позволяет закодировать в однобайтовой команде еще 16 операций. [17]
Объект, содержимым которого манипулирует команда, указывается с помощью первого байта команды вместе с кодом операции бс; выделения специального поля для этой цели. Чаще всего этот специфический способ адресации встречается в однобайтовых командах, где адресуемым объектом являются аккумулятор, регистр флагов или отдельные флаги. В частности, в командах обработки цепочек неявно используются индексные регистры, причем регистр SI адресует первый элемент щмючки-ипочникя, а регистр DI - первый элемент цепочки-получателя. [18]
Считывающий импульс из ДШБП поступает на Б Пр. Из соответствующей ячейки памяти извлекается код команды, если это однобайтовая команда, или первый байт многобайтовой команды, затем считываются остальные байты команды. Коды команды по каналу данных передаются в ЦПБ. Машина приступает к выполнению соответствующей операции. При этом в адресный канал выдаются адреса операндов или устройств машины, участвующих в реализации той или иной команды. Операнды и результаты выполнения операций передаются по каналу данных. [19]
Схемы подключения микро - ЭВМ к. [20] |
Большинство команд ( 53) выполняются за один машинный цикл, 43 команды ( в том числе 15 однобайтовых) - за два машинных цикла. Выполнение двухбайтовых команд за два цикла связано с дополнительным обращением к программной памяти. Однобайтовые команды в большинстве выполняются за один цикл, однако команды, требующие обращения к внешним устройствам, а также команды RET и RETR выполняются за два цикла. [21]
Любой из 16-разрядных регистров R может рассматриваться ( это указывает 4-разрядным регистром Р) как счетчик команд. При вызове подпрограммы содержимое регистра Р изменяется таким образом, что он теперь указывает уже новый 16-разрядный регистр R в качестве счетчика команд. При этом начальное содержимое этого нового счетчика команд определяет адрес подпрограммы. Для возврата из подпрограммы в регистре Р восстанавливается первоначальное значение, которое указывает в качестве счетчика команд предыдущий использовавшийся для этого регистр. К сожалению, в микропроцессоре COSMAC не имеется однобайтовых команд вызова подпрограммы, и поэтому эту задачу приходится программировать обычным способом. [22]