Книга: Цифровые вычислительные устройства и микропроцессоры приборных комплексов

1 0 0 0 0 0 1 0 сдвиг на один разряд влево

1 1 0 1 1-е частичное произведение

1 0 0 0 1 1 1 1 произведение

Рассмотрим выполнение операции умножения с суммированием частичных произведений, начиная с младшего частичного произведения на примере умножения чисел 11012 и 10112 .

1 1 0 1 1-е частичное произведение

0 1 1 0 1 сдвиг на один разряд вправо

1 1 0 1 2-е частичное произведение

1 0 0 1 1 1 сумма 1- и 2-го частичных произведений

1 0 0 1 1 1 сдвиг на один разряд вправо

0 0 0 0 3-е частичное произведение

1 0 0 1 1 1 сумма 1-, 2- и 3-го частичных произведений

1 0 0 1 1 1 сдвиг на один разряд вправо

1 1 0 1 4-е частичное произведение

1 0 0 0 1 1 1 1 сумма частичных произведений

1 0 0 0 1 1 1 1 сдвиг вправо, произведение

При умножении целых чисел для фиксации произведения в разрядной сетке должно предусматриваться число разрядов, равное сумме числа разрядов множимого и множителя.

Пример 1.8 . Умножить однобайтные целые числа без знака. В регистре R1 размещен множитель, в регистре R2 – множимое. Двухбайтный результат умножения будет размещен в аккумуляторе (старший байт) и в R1 (младший байт) вместо множителя. В регистр R3, выполняющий функции счетчика программных циклов, загружается число 8 (число бит множителя). Умножение выполняется младшими битами вперед со сдвигом вправо частичного произведения. Последовательность действий при этом методе умножения следующая:

– Содержимое аккумулятора и регистра-расширителя R1 сдвигается вправо на один бит так, что младший бит множителя, выдвигаемый из регистра R1, помещается в триггер флага C.

– Если C = 1, то множимое добавляется к содержимому аккумулятора, в противном случае никаких операций не производится.

– Декрементируется счетчик циклов R3, и если его содержимое не равно нулю, то все действия повторяются.

– Перед выходом из подпрограммы формируется окончательный результат сдвигом частичного результата на один бит вправо:

MPL: MOV R3,#8 ; загрузка счетчика циклов

CLR A ; очистка аккумулятора

CLR C ; очистка признака переноса

SHIFT: RRC A ; сдвиг аккумулятора вправо

XCH A,R1 ; обмен аккумулятора и R1

RRC A ; сдвиг множителя с занесением

; выдвигаемого бита в C

XCH A,R1 ; обмен аккумулятора и R1

К-во Просмотров: 397
Бесплатно скачать Книга: Цифровые вычислительные устройства и микропроцессоры приборных комплексов