Люди помогите решить задачку. Очень нужно.
Написать программу на Ассемблере, позволяющую производить умножение двух чисел размером в слово, не используя команду умножения(с помощью команд сложения и сдвига)
Входные параметры - два 2-ч байтных числа
Выходные параметры - произведение этих чисел.
Умножение CH на DH с помощью процедуры PROCEDURE
Пожалуйста помогите кто-нибудь!
умножение знаковое, беззнаковое?...
что сдвигать будем - частичную сумму или множитель?
анализ старшего или младшего разряда?....
выбирай...
proc mult
xchg ch,cl
xor ch,ch;счетчик в сх (первый множитель)
xchg dh,dl
xor dh,dh;в ДХ второй множитель
mov bx,dx;и в БХ тож
.loop:
add dx,bx;добавляем ДХ к себе СХ раз
loop .loop
.exit:
mov ax,dx;возврат
ret
endp