ARM (7, 9, 920 - значения не имеет ибо код одинаковый)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено ShiphT 18 сентября 2003 г. 17:03
В ответ на: По поводу вчерашнего разговора про PIC и AVR. Предлагаю для сравнения функцию. Впрочем, очень интересно посмотреть на MSP и x51. отправлено Bill 18 сентября 2003 г. 08:49

   \                                 In segment NEARFUNC_T, align 4, keep-with-next
\ 00000000 CODE16
6 int mean(int *ap, unsigned int count)
7 {
\ mean??rT:
\ mean:
\ 00000000 10B5 PUSH {R4,LR}
\ 00000002 0B1C MOV R3,R1
8 unsigned int _cnt = count; // ?юїЁрэшЄ№ ўшёыю фрээ?ї
\ 00000004 191C MOV R1,R3
9 long sum = 0; // ?сэєышЄ№ ёєььє
\ 00000006 0022 MOV R2,#+0x0
10
11 do{ // ?єььшЁютрэшх
12 sum += *ap++;
\ ??mean_0:
\ 00000008 0468 LDR R4,[R0, #+0]
\ 0000000A 1219 ADD R2,R2,R4
\ 0000000C 001D ADD R0,#+0x4
13 }
14 while (--count);
\ 0000000E 5B1E SUB R3,#+0x1
\ 00000010 002B CMP R3,#+0x0
\ 00000012 F9D1 BNE ??mean_0
15 return sum / _cnt; // ?хЁэєЄ№ ёЁхфэхх чэрўхэшх
\ 00000014 101C MOV R0,R2
\ 00000016 ........ BL ??divu32_t
\ 0000001A 081C MOV R0,R1
\ 0000001C 10BC POP {R4}
\ 0000001E 02BC POP {R1}
\ 00000020 0847 BX R1 ;; return
16 }
17

Maximum stack usage in bytes:

Function CSTACK
-------- ------
mean 8


Segment part sizes:

Function/Label Bytes
-------------- -----
mean 34


42 bytes in segment NEARFUNC_T

42 bytes of CODE memory

Errors: none
Warnings: none


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

Ответы



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

E-mail: info@telesys.ru