Cтраница 1
Сложение кодов порядков, происходящее обычно в дополнительном коде. Поэтому часто порядок хранится в блоке памяти также в дополнительном коде. [1]
Сложение кодов представляет собой сложение всех 32 битов обоих операндов без последующего - изменения знакового бита результата. Данная команда отличается от команды СЛОЖЕНИЕ отсутствием прерывания при переполнении и тем, как устанавливается признак результата. [2]
Команды Сложение кодов позволяют организовать сложение длинных чисел. В качестве примера опишем алгоритм сложения двух чисел с удвоенной точностью, каждое из которых занимает два полных слова, а сумма также является числом с удвоенной точностью. [3]
Операция Сложение кодов команд введена для изменения адресов команд. В этой операции к адресам команды, вызываемой по первому адресу, прибавляется код, вызываемый по второму адресу. Если рассматривать команду, вызванную по первому адресу, как число, то в операции сложения участвуют все разряды цифровой части числа и его знак, а порядок и знак порядка ( соответствуют коду операции) отсылаются в запоминающее устройство в прежнем виде. [4]
![]() |
Схема сумматора с последовательными переносами. [5] |
При сложении кодов двух чисел на сумматоре возникает код первоначальной суммы ( до момента поступления импульсов переноса) и импульсы переноса. Следовательно, код первоначальной суммы данной ячейки обязательно будет О. Поступающий от предыдущих ячеек импульс переноса может вызвать лишь переход кода рассматриваемой ячейки из положения О в положение 1, т.е. дальнейшего импульса переноса не будет. Таким образом, импульс переноса от предыдущих ячеек не может распространиться дальше той ячейки, в которой после получения первоначальной суммы образовался код О. [6]
При сложении кодов теряется единица переноса из разряда целых единиц и результат ошибочно воспринимается как положительное число, меньшее единицы. [7]
При сложении кодов К и обратном сложении кодов К одноразрядная схема вырабатывает только один сигнал переноса. [9]
При сложении кода команды с каким-либо числом необходимо обеспечить неизменность кода операции, что выполняется следующим образом. При выдаче результата в запоминающее устройство открытие ячейки ЭЗК производится сначала на выдачу числа из ЭЗК. При этом код возвращается обратно в ту же ячейку. После четырех импульсов работа переключается на прием кода на ЭЗК и ячейка ЭЗК принимает лишь новый код, поступающий по КШ от АУ. Таким образом, на первой стадии происходит возвращение кода операции в ЭЗК, а на второй стадии - прием измененного кода адресов команды от арифметического устройства. [10]
При сложении кодов числа прежде всего устанавливается имеется ли перенос из старшего разряда в высший. Если перенос имеется, то к полученному коду сумма добавляется двоичное число 3, и перенос от первого суммирования направляется в следующий десятичный разряд. [11]
![]() |
Схема формирования результата в нулевом разряде сумматора второй ступени.| Структурная схема десятичного сумматора. [12] |
При сложении кодов чисел разных знаков пары тетрад второго операнда подаются на вход ДСМ в обратном коде. Эта дополнительная единица поступает из схемы памяти ( триггера) переноса в следующий байт, в которую она предварительно заносится по сигналу из блока управления. [13]
Итак, сложение кодов согласно приведенному правилу дает алгебраическую сумму в прямом коде, если эта сумма положительна, и в обратном коде, если она отрицательна. [14]
Помимо операции сложения кодов чисел, сумматор должен обеспечивать также и операцию сдвига кода числа, так как все арифметические и логические действия осуществляются этими двумя элементарными операциями. Сдвиг числа влево производится точно так же, как и на блоке запоминания арифметического устройства, а именно: на одну из сеток всех триггерных ячеек подается импульс, устанавливающий все триггерные ячейки в положение кода О. На тех триггерных ячейках, которые до поступления импульса находились в положении кода 1, возникают импульсы переноса. О и, следовательно, возникшие импульсы переноса попадут в соседние ячейки. [15]