- Список команд Урал-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)
Категории:- Компьютеры СССР
- История развития вычислительной техники
Wikimedia Foundation. 2010.