AU08 (28.08.2013 14:00, просмотров: 60) ответил AU08 на Так было бы самое оптимальное решение: оптимизацию к отдельному файлу применить.
От максимальной опитимизции результат есть: 26 циклов вместо 58 - убран вызов подпрограммы умножения, используется простое умножение 1 байта на 4 байта (4 команды MUL и операции сложения).
104 volatile s32 cxx = axx*bxx;
\ 0000002E 8148 LD R20, Y
\ 00000030 9F43 MUL R20, R19
\ 00000032 2D70 MOV R23, R0
\ 00000034 9F42 MUL R20, R18
\ 00000036 2D60 MOV R22, R0
\ 00000038 0D71 ADD R23, R1
\ 0000003A 9F41 MUL R20, R17
\ 0000003C 2D50 MOV R21, R0
\ 0000003E 0D61 ADD R22, R1
\ 00000040 1D72 ADC R23, R2
\ 00000042 9F40 MUL R20, R16
\ 00000044 0D51 ADD R21, R1
\ 00000046 1D62 ADC R22, R2
\ 00000048 1D72 ADC R23, R2
\ 0000004A 8209 STD Y+1, R0
\ 0000004C 835A STD Y+2, R21
\ 0000004E 836B STD Y+3, R22
\ 00000050 837C STD Y+4, R23
Что такое асимметричный ответ?
Это когда о тебе негативно отзываются в комментарии, а ты об авторе этого комментария пишешь хорошо и по-доброму: в некрологе!