Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ассемблер _ Умножение чисел, без команды умножения

Автор: viv 30.05.2006 15:19

Люди помогите решить задачку. Очень нужно.
Написать программу на Ассемблере, позволяющую производить умножение двух чисел размером в слово, не используя команду умножения(с помощью команд сложения и сдвига)
Входные параметры - два 2-ч байтных числа
Выходные параметры - произведение этих чисел.
Умножение CH на DH с помощью процедуры PROCEDURE
Пожалуйста помогите кто-нибудь!

Автор: мисс_граффити 4.06.2006 5:13

умножение знаковое, беззнаковое?...
что сдвигать будем - частичную сумму или множитель?
анализ старшего или младшего разряда?....

выбирай...

Автор: FreeMan 6.06.2006 12:50

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

вот процедура. на остальное времени нет пока