Реферат: Операции с числами с плавающей запятой
После выравнивания порядков модули мантисс хранятся в Pгl и РгЗ в разрядах с 8-го по 31-й, их знаки в Тг3н2 и Тг3н1, а порядок результата в Сч1.
Сложение мантисс. Анализируются знаки мантисс и при равенстве знаков модули мантисс складываются. Если оказывается, что См [7] = 1, то возникло переполнение при сложении мантисс. В случае переполнения мантисса суммы сдвигается на четыре двоичных разряда (один шестнадцатеричный разряд) вправо, а порядок увеличивается на 1 (Сч1: = Сч1 + 1). Если после этого Сч1 [0] = 1, то формируется признак прерывания из-за переполнения порядка. Если переполнения нет, то в РгСм формируется результат операции, для чего содержимое Сч1 [1 ¸ 7] заносится в РгСм [1 ¸ 7], в РгСм [0] передается знак, а в РгСм [8 ¸ 31]— мантисса суммы.
При различных знаках мантисс отрицательная мантисса передается на входной регистр сумматора в обратном коде и производится суммирование ее с прямым кодом положительной мантиссы и 1, прибавляемой к младшему разряду сумматора. Знак результата фиксируется в триггере знака. От полученного результата, если он отрицателен, берется его модуль. Если результат нормализован (См [8 ¸ 11] ¹ 0), то на РгСм заносятся знак результата (по значению триггера знака), порядок по значению Сч1 и модуль мантиссы.
Если результат не нормализован и нет исчезновения значимости (мантисса не равна 0), производится нормализация. Мантисса результата сдвигается влево и одновременно уменьшается порядок результата (Сч1: = Сч1 - 1). При отрицательном переполнении порядка (Сч1 [0] = 1) формируется признак исчезновения порядка. Если нормализация завершается без исчезновения порядка, формируется результат операции из кода знака, порядка и мантиссы.
Микропрограмма процедуры сложения мантисс:
|
если ТгЗн ¹ Тг3н2 то МЗ; РгА: = Рг1, РгВ: = РгЗ; РгСм: = См; если См[7] = 1 то М2; |
М1: |
РгСм [ 1 ¸ 7]: = Сч1 [1 ¸ 7]; РгСм [0] :== если Тг3н1=0 то 0 иначе 1; |
М: |
ШИВых: = РгСм; конец ; |
М2: |
Сч1:=Сч1+1, РгСм := П(4)См, РгСм[0 ¸ 3]:=0; если Сч1[0]=0 то М1 иначе прерывание из-за переполнения порядка; |
МЗ: |
если Тг3н1=0 то РгА :=, РгВ: = РгЗ иначе РгА : = Рг1, РгВ: = ; РгСм :=РгА+РгВ +1; если См[0]=0 то M4; Рг3:= РгСм; РгА :=0, РгВ: =; РгСм:= РгА +РгВ +1; |
М4: |
ТгЗн1 := РгЗ [0]; |
К-во Просмотров: 193
Бесплатно скачать Реферат: Операции с числами с плавающей запятой
|