Система команд

Форматы данных

Методы адресации

Команды присваивания

Команды управления программой

Команды управления процессором и системой

Команды процессора плавающей точки

Особенности выполнения команд на различных моделях ЭВМ


Архитектурные решения семейства нашли свое отражение в системе команд. Практически все команды для всех ЭВМ семейства (за исключением команд процессора плавающей точки ЭВМ «Электроника 79» и нескольких команд управления внутренним оборудованием центрального процессора) совпадают. Это обеспечивает совместимость программ на уровне Ассемблера как снизу вверх, так и сверху вниз. Отметим основные особенности системы команд.

  1. Внесение счетчика команд в набор РОН позволило по-новому решить ряд проблем адресации. Основной тип адресации в любой системе — относительная адресация — обеспечивается указанием смещения относительно текущего места в программе. Следовательно, смещение зависит не только от положения операнда в программе (например, от расстояния от начала программы), но и от места команды, которая использует этот операнд. Это позволило отказаться от базовых регистров, а также уменьшить размер всех команд ветвления за счет указания смещения перехода (±256 байт) в самой команде. Считается, что большинство переходов в хорошей программе осуществляет переходы в этом диапазоне.
  2. Команды системы не зависят от уровня памяти, на которой размещены операнды (регистровой и оперативной). Метод адресации у каждого операнда свой и в подавляющем большинстве является произвольным (в том числе и непосредственная адресация). Поэтому варианты расположения операндов команды в памяти не увеличивают количество команд, и система команд имеет высокий логический уровень.
  3. Все операнды явным образом адресуются через регистры, и формат собственно команды является неизменным — одно слово (т. е. 16 разрядов). Адресация через счетчик команд (относительная, непосредственная, абсолютная) и индексная предполагают размещение вслед за командой смещения индекса непосредственного операнда или абсолютного адреса. Эти данные образуют с командой как бы одно целое — расширенную команду, которая имеет длину от одного до трех слов в зависимости от применяемых методов адресации операнда.
  4. Ограниченная разрядность слова привела к поиску новых решений в области назначения кода операции. Здесь применен прием расширения кода операции, при котором длина кода операции не фиксирована (как, например, в ЕС ЭВМ — 1 байт), а изменяется в зависимости от числа операндов. Этот прием проиллюстрирован в табл. 1.5.
Методы расширения кода операций

Произвольный доступ к операнду занимает 6 разрядов: 3 — метод адресации, 3 — номер регистра. Поэтому в двухадресной команде на код операции — КОП (горизонтальная штриховка) остается 4 разряда, т. е. 16 комбинаций. 12 используются в команде, а 4 — для расширения: из них 2 комбинации идут на кодирование команд ветвления, 1 — двухадресных регистровых команд, в которых первый операнд обязательно в регистре, 1 — управления процессором плавающей точки. В следующей группе старшие 4 разряда уже заняты (косая штриховка), а два операнда занимают 9 разрядов, так как один просто номер регистра. Следовательно, код операции имеет 3 разряда, всего здесь 6 команд, одна комбинация расширяется для регистровых одноадресных команд, одна резервная и т. д.

С помощью такого приема удалось кодировать 150 команд. При фиксированном размере кода операции под него необходимо было бы отвести байт, т. е. при размере слова в 16 разрядов можно было использовать только один адрес. Кроме того, под возможные расширения системы имеются еще 182 резервных комбинации (в основном одноадресных регистровых и безадресных).