Мля!!! Склероз. Смотри аппноту avr201.asm, а тут только кусок...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено =mse= 21 июня 2004 г. 10:57
В ответ на: ??? а чем "обычный контроллер" принципиально отличается от ДСП? Алгоритмы одни и те-же. отправлено =mse= 21 июня 2004 г. 10:45


;******************************************************************************
;*
;* FUNCTION
;* mac16x16_32
;* DECRIPTION
;* Signed multiply accumulate of two 16bits numbers with
;* a 32bits result.
;* USAGE
;* r19:r18:r17:r16 += r23:r22 * r21:r20
;* STATISTICS
;* Cycles : 23 + ret
;* Words : 19 + ret
;* Register usage: r0 to r2 and r16 to r23 (11 registers)
;*
;******************************************************************************

mac16x16_32:
clr r2

muls r23, r21 ; (signed)ah * (signed)bh
add r18, r0
adc r19, r1

mul r22, r20 ; al * bl
add r16, r0
adc r17, r1
adc r18, r2
adc r19, r2

mulsu r23, r20 ; (signed)ah * bl
sbc r19, r2
add r17, r0
adc r18, r1
adc r19, r2

mulsu r21, r22 ; (signed)bh * al
sbc r19, r2
add r17, r0
adc r18, r1
adc r19, r2

ret

mac16x16_32_method_B: ; uses two temporary registers
; (r4,r5), but reduces cycles/words
; by 1
clr r2

muls r23, r21 ; (signed)ah * (signed)bh
movw r5:r4,r1:r0

mul r22, r20 ; al * bl

add r16, r0
adc r17, r1
adc r18, r4
adc r19, r5

mulsu r23, r20 ; (signed)ah * bl
sbc r19, r2
add r17, r0
adc r18, r1
adc r19, r2

mulsu r21, r22 ; (signed)bh * al
sbc r19, r2
add r17, r0
adc r18, r1
adc r19, r2

ret


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru