Микропроцессор Z80 -основные характеристики

   Купить лепнину Пилястра Пт-10 012, logo. |       

Умножение 16-разрядных чисел


Вход: BC – множимое; DE – множитель.

Выход: DEHL – произведение.

Во время работы подпрограммы аккумулятор используется в качестве счётчика разрядов.

MPY:  LD   HL,0000h ; Начальная инициализация произведения

      LD   A,16     ; Счётчик разрядов

LOOP: ADD  HL,HL    ; Сдвиг промежуточного результата влево

      EX   DE,HL

      ADC  HL,HL

      EX   DE,HL

      JR   NC,DECA  ; Если очередной разряд множителя равен 0,

                    ; сложение не требуется

      ADD  HL,BC    ; Прибавление множимого

      JR   NC,DECA

      INC  DEC

DECA: DEC  A        ; Уменьшение счётчика и повтор операции,

      JP   NZ,LOOP  ; пока не обработаны все разряды

      RET



Содержание раздела