- Список команд Урал-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 Посылска адреса в сумматор 
![(-1)^{\left [ \tau_2 \right ]}\times\tilde a\times2^{-17}=:(s)\,](21ad6853492b878c665ec7c94d2aa1d0.png)
(т.е.
)— Сумматор сбрасывается, содержимое 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)
Категории:- Компьютеры СССР
- История развития вычислительной техники
Wikimedia Foundation. 2010.


