Список команд Урал-1

В этом списке приводятся команды ЭВМ Урал-1

Представление чисел и команд

Распределение разрядов полной ячейки памяти
Распределение разрядов полной ячейки памяти в двоично-десятичной форме
Формат команды

Урал-1 поддерживает форматы чисел с фиксированной запятой в прямом и двоично-десятичном коде. Разряд знака равный нулю кодирует неотрицательные числа, единица кодирует отрицательные числа.

Команды имеют следующий формат: , где:

  •  — признак переадресации
  •  — код операции
  •  — признак длины ячейки
  •  — адрес

Условные обозначения

  • r — регистр АУ
  • s — сумматор АУ
  • С — содержимое регистра-счётчика
  • F — регистр переадресации
  • верхний индекс — указанный бит регистра
  • M(x) — мантисса числа
  • P(x) — порядок числа
  • f(x1,…xn):=z — вычисление функции f, без модификации x и помещение результата в ячейку (регистр) z.
  • X — не влияющий на вычисления бит (знак, цифра)
  • (z)0 — значение ячейки (регистра) z до выполнения команды

Исполнительный адрес команды формируется по следующей формуле:

;

где ã — исполнительный адрес команды, τ1 — признак переадресации, а — адрес из текущей инструкции, а F — значение регистра переадресации, то есть исполнительный адрес вычисляется как разница между адресом из инструкции и значением в регистре переадресации, значение из регистра переадресации учитывается, только если у инструкции указан флаг переадресации.

Знак нуля
  • всегда отрицательный после операций сложения/вычитания, за исключением (+0)+(+0), (+0)-(-0).
  • знак нуля при операциях умножения/деления определяется по правилам умножения знаков.

Примечание: для записи формул используется операция «=:», означающая, что результат вычисления заносится в ячейку (регистр), напр. 2x2=:A (запись в А результата 2х2).

Список команд

Код операции θНазваниеформуласодержаниеСигналыкомментарий
ωφ
01Сложение
К значению сумматора добавляется значение ячейки . Значение сохраняется в сумматоре, значение прибавляемого регистра не меняется.
02Посылка в сумматор (присвоение)
Сброс регистра сумматора в ноль и выполнение операции сложения (код θ=1)
03Вычитание
Знак числа меняется на противоположный, после чего выполняется операция сложения (код θ=1)
04Вычитание модулей
Выполняется операция сложения (код θ=1) с предварительным изменением знаков: первоначальному значению сумматора присваивается знак , числу присваивается знак
05Умножение (тип 1)
Регистр АУ умножается на ; произведение (умножение, тип 2, θ=6) прибавляется к содержимому сумматора. Результат записывается в сумматор, регистр АУ сбрасывается.
06Умножение (тип 2)
Значение из сумматора умножается на . Результат заносится в сумматор. Регистр сбрасывается, произведение округляется.
07Деление
Значение из сумматора делится на значение . Результат заносится в сумматор. Частное округляется, регистр сбрасывается.
10Присвоение знака
На сумматор переносится знак числа .
11СдвигЗначение регистра сдвигается на число, указанное в 16—24 разрядах сумматора. Сдвиг зависит от знака . Отрицательные значения — сдвиг вправо, положительные — сдвиг влево.
12Выделение части

Содержимое сумматора поразрядно логически умножается на число . Результат заносится в сумматор.
13Формирование

Содержимое сумматора порязрядно логически сладывается с числом . Результат помещается в сумматор.
14Сравнение

Производится поразрядная операция отрицания равнозначности между содержимым сумматора и числом . Результат помещается в сумматор.
15Нормализация


Нормализация числа в сумматоре; мантисса и её знак записываются в ячейку , порядок сохраняется в старшей половине сумматора (с сохранением знака в знаковом разряде). Если предыдущая операция привела к переполнению, то величина порядка устанавливается в +1. При выполнении операции округление не производится. В регистре остаётся то же значение, что и в сумматоре.
16Посылка в памятьЗначение из сумматора копируется в на магнитном барабане. Значение сумматора, регистра АУ не меняется.
17Послыка в регистрЗначение из ячейки посылается на регистр АУ. Значение в сумматоре не меняется.
20Посылка адреса в сумматор (то есть )Сумматор сбрасывается, содержимое 12 и 1-11 разряда команды переносится в 36 и 19-29 разряды сумматора.
21Условный переходЕсли ω=1, то не изменяетсяЕсли в момент выполнения команды флаг ω установлен, то управление передаётся команде . Если флаг сброшен, то продолжается выполнение программы (со следующей команды).
22Безусловный переходне изменяетсяУправление передаётся команде
23Передача управления по ключуПри включенном ключе номер
СохраняетсяЕсли ключ (флаг) с номером из диапазона [1;7] включен, то следующая команда пропускается, если ключ выключен, выполняется.
24Конец цикла;
при
СохраняетсяСодержимое регистра переадресации уменьшается на 1 или на 2 (см следующую команду). Если на регистре переадресации ноль, то управление передаётся следующей команде. Иначе выполнение передаётся команде, стоящей в ячейке (с адресом)
25Начало цикла
26Суммирование
30Изменение команд
31Обмен между накопителями
31Чтение с перфоленты
31Чтение с магнитной ленты
31Запись на магнитную ленту
32Выдача (печать) результатов
34Интервал
37Останов

Команды с кодами 00, 27, 33, 35, 36 не задействованы (при выполнении команды значения регистров и флагов сохраняются неизменными).

Источники

Н. А. Криницкий, Г. А. Миронов, Г. Д. Фролов, Программирование, под ред. М. Р. Шура-Бура, Государственное издательство физико-математической литературы, Москва, 1963 (Глава 9)

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.