Числа представляются в 16-разрядном формате, старший (нулевой) разряд используется для представления знака числа, для операции сложения используется модифицированный дополнительный код, поэтому регистр RG имеет 17 разрядов (0:16) (поле RG(1:16) – для хранения первого слагаемого), регистр RG1 имеет 16 разрядов RG1(0:15) – для второго слагаемого, одноразрядному полю признака переполнения изначально присвоено нулевое значение, при операции сложения слагаемые помещаются по младшим разрядам, результат (сумма) помещается в поле RG(1:16), прибавление константы означает прибавление 1 к младшему разряду слова.
Содержательный алгоритм сложения представлен на рисунке 4.1:
Рисунок 4.1 – Алгоритм операции сложения
Описание слов, использованных в микропрограмме сложения, представлены в таблице 4.1:
Таблица 4.1
Тип | Слово | Пояснение |
ILO | RG(0:16) | Слагаемое (Сумма) |
IL | RG1(0:16) | Слагаемое |
ILO | ПП | Признак переполнения |
Содержательный алгоритм вычитания представлен на рисунке 4.2:
Рисунок 4.2 – Алгоритм вычитания
Описание слов, использованных в микропрограмме вычитания представлены в таблице 4.2:
Таблица 4.2
Тип | Слово | Пояснение |
ILO | RG(0:16) | Уменьшаемое (разность) |
IL | RG1(0:16) | Вычитаемое |
ILO | ПП | Признак переполнения |
Содержательный алгоритмы умножения и деления представлены на рисунках 4.3 и 4.4:
Описания слов, использованных в микропрограммах представлены в таблицах 4.3 и 4.4:
Таблица 4.3
Тип | Слово | Пояснение |
ILO | RG(0:16) | Множитель, произведение |
IL | RG1(0:16) | Множимое |
L | RG2(0:16) | Множитель, произведение |
L | СТ(1:4) | Счетчик циклов |
Таблица 4.4
Тип | Слово | Пояснение |
ILO | RG(0:16) | Делимое, остаток, частное |
IL | RG1(0:16) | Делитель |
L | RG2(0:16) | Частное |
L | СТ(1:4) | Счетчик |
ILO | ПП | Признак переполнения |
Содержательные алгоритмы умножения на 2 и нахождения абсолютной величины числа представлены на рисунке 4.5 и 4.6, а описания слов, использованных в микропрограммах – в таблице 4.5 и 4.6:
Рисунок 4.5 – Алгоритм операции «умножение на 2»
Рисунок 4.6 – Алгоритм приведения абсолютной величины числа
Таблица 4.5
Тип | Слово | Пояснение |
ILO | RG(2:16) | Операнд |
ILO | ПП | Признак переполнения |
Таблица 4.6
Тип | Слово | Пояснение |
ILO | RG(0:1) | Операнд |
Содержательный алгоритм микропрограммы специальной функции Arth(x) представлен на рисунке 4.7, здесь до начала выполнения программы регистру RG4 присваивается значение X. Описания слов, использованных в микропрограмме – в таблице 4.7:
Таблица 4.7
Тип | Слово | Пояснение |
ILO | RG(0:16) | Переменная x,n,b,a,F множитель, произведение, делимое, остаток, частное, слагаемое, сумма, уменьшаемое, разность |
IL | RG1(0:15) | Переменная F,b,a константа, Множимое, делитель, слагаемое, вычитаемое |
L | RG2(0:16) | Множитель, произведение, частное |
L | RG3(0:15) | Переменная F |
L | RG4(0:15) | Переменная x,a,b |
L | RG5(0:15) | Переменная n |
L | CT(1:4) | Счетчик |
ILO | ПП | Признак переполнения |
Теперь необходимо составить схему укрупненного алгоритма, используя уже полученную микропрограмму вычисления функции Arth(x). Предполагается, что переменные x1, x2 и x3 перед началом выполнения программы уже будут загружены соответственно в регистры RG4, RG3 и RG5. Данная схема алгоритма представлена на рисунке 4.8:
Рисунок 4.8 – Схема алгоритма
В таблице 4.8 представлено описание слов, использованных в программе. Так как описание слов для микропрограммы вычисления специальной функции было представлено в таблице 4.7, здесь приводится описание только тех слов, которые принимали значения отличные от тех, что использовались в алгоритме на рисунке 4.7.
Таблица 4.8
Тип | Слово | Пояснение |
ILO | RG(0:16) | Переменная x1, x2,X делимое, остаток, частное, уменьшаемое, разность абсолютная величина числа |
IL | RG1(0:15) | Переменная x2, x3 константа, делитель, вычитаемое |
L | RG3(0:15) | Переменная x2 |
L | RG4(0:15) | Переменная x1, X |
L | RG5(0:15) | Переменная x3 |