Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
; Tmp(32) * Src(16) => Dst(32)
Mul_32_16: ; 104bytes , 48 + 35(Src_1!=0) cyc
mov A, Src_0
orl A, Src_1
jz 3$
mov A, Tmp_0
orl A, Tmp_1
orl A, Tmp_2
orl A, Tmp_3
jnz 2$
3$: clr A
mov Dst_0, A
mov Dst_1, A
mov Dst_2, A
mov Dst_3, A
jmp 1$
2$: mov A, Src_0
mov B, Tmp_0
mul AB
mov Dst_0, A
mov Dst_1, B
mov A, Src_0
mov B, Tmp_1
mul AB
add A, Dst_1
mov Dst_1, A
clr A
addc A, B
mov Dst_2, A
mov A, Src_0
mov B, Tmp_2
mul AB
add A, Dst_2
mov Dst_2, A
clr A
addc A, B
mov Dst_3, A
mov A, Src_0
mov B, Tmp_3
mul AB
add A, Dst_3
mov Dst_3, A
mov A, Src_1
jz 1$
mov B, Tmp_0
mul AB
add A, Dst_1
mov Dst_1, A
mov A, B
addc A, Dst_2
mov Dst_2, A
clr A
addc A, Dst_3
mov Dst_3, A
mov A, Src_1
mov B, Tmp_1
mul AB
add A, Dst_2
mov Dst_2, A
mov A, B
addc A, Dst_3
mov Dst_3, A
mov A, Src_1
mov B, Tmp_2
mul AB
add A, Dst_3
mov Dst_3, A
1$: ret
Составить ответ | Вернуться на конференцию.
Ответы