Книга: Цифровые вычислительные устройства и микропроцессоры приборных комплексов
Пример 1.4 . Сложить содержимое регистра R7 и ячейки РПД с адресом 30Н:
MOV R0,#30h ; загрузка в R0 адреса РПД
MOV A,R7 ; загрузка операнда в аккумулятор
ADD A,@R0 ; сложение
Суммирование десятичных чисел . Способ суммирования десятичных чисел зависит от того, какой двоичный код выбран для представления десятичных цифр. Ниже рассматривается операция суммирования при использовании кода 8421.
Двоичные представления десятичных цифр суммируются по обычным правилам сложения двоичных чисел. Если полученная сумма содержит десять или более единиц, то формируется единица переноса, передаваемая в следующий десятичный разряд, а из суммы вычитаются десять единиц. Полученный результат есть цифра соответствующего разряда суммы. Наличие в полученной сумме десяти или более единиц выявляется по следующим признакам: появление переноса из разряда 8, возникающего при суммировании цифр; наличие единиц одновременно в разрядах 8 и 4 либо 8 и 2 в полученной сумме. При этом требуется коррекция суммы прибавлением к ней шести единиц (числа 01102 ).
Покажем эти действия на примерах.
– Сложить десятичные цифры 6 и 2 и перенос 1, поступающий из предыдущего десятичного разряда.
Десятичная система Код 8421
Переносы 1 1 1 1
Первая цифра 6 0 1 1 0
Вторая цифра 2 0 0 1 0
Сумма 9 1 0 0 1
Коррекция —
Результат 1 0 0 1
В этом случае полученное в результате суммирования число 10012 меньше десяти и коррекция суммы не требуется.
– Сложить десятичные цифры 8 и 9.
Десятичная система Код 8421
Переносы 1 0 1 0
Первая цифра 8 1 0 0 0
Вторая цифра 9 1 0 0 1
Сумма 7 0 0 0 1
Коррекция 0 1 1 0
Результат 0 1 1 1
– Сложить десятичные цифры 6 и 7.
Десятичная система Код 8421
Переносы 1 0 1 1 1 0
Первая цифра 6 0 1 1 0
Вторая цифра 7 0 1 1 1