|
|
  |
Аппаратное умножение 24-битных чисел?, Дайте пример на асме. |
|
|
|
Aug 31 2005, 14:33
|
Знающий
   
Группа: Свой
Сообщений: 589
Регистрация: 24-04-05
Пользователь №: 4 447

|
Попробовал. Вот что получилось: ah:am:al * bh:bm:bl = c5:c4:c3:c2:c1:c0
_____________________________________
mul al,bl movw c1:c0,r1:r0
mul am,bl add c1,r0 adc c2,r1
mul ah,bl add c2,r0 adc c3,r1
mul al,bm add c1,r0 adc c2,r1
mul am,bm add c2,r0 adc c3,r1
mul ah,bm add c3,r0 adc c4,r1
mul al,bh add c2,r0 adc c3,r1
mul am,bh add c3,r0 adc c4,r1
mul ah,bh add c4,r0 adc c5,r1
|
|
|
|
|
Sep 1 2005, 03:30
|
Частый гость
 
Группа: Свой
Сообщений: 179
Регистрация: 4-02-05
Пользователь №: 2 429

|
Примерно так. Только возможное переполнение после сложения надо учитывать.
clr tmp
mul al,bl movw c1:c0,r1:r0
mul am,bl add c1,r0 adc c2,r1 adc c3, tmp
mul al,bm add c1,r0 adc c2,r1 adc c3, tmp
mul ah,bl add c2,r0 adc c3,r1 adc c4, tmp
mul am,bm add c2,r0 adc c3,r1 adc c4, tmp
mul al,bh add c2,r0 adc c3,r1 adc c4, tmp
mul ah,bm add c3,r0 adc c4,r1 adc c5, tmp
mul am,bh add c3,r0 adc c4,r1 adc c5, tmp
mul ah,bh add c4,r0 adc c5,r1
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|