Помощь - Поиск - Пользователи - Календарь
Полная версия: Умножение чисел, без команды умножения
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ассемблер
viv
Люди помогите решить задачку. Очень нужно.
Написать программу на Ассемблере, позволяющую производить умножение двух чисел размером в слово, не используя команду умножения(с помощью команд сложения и сдвига)
Входные параметры - два 2-ч байтных числа
Выходные параметры - произведение этих чисел.
Умножение CH на DH с помощью процедуры PROCEDURE
Пожалуйста помогите кто-нибудь!
мисс_граффити
умножение знаковое, беззнаковое?...
что сдвигать будем - частичную сумму или множитель?
анализ старшего или младшего разряда?....

выбирай...
FreeMan
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

вот процедура. на остальное времени нет пока
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.