Малость ошибся для AVR
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Bill 25 ноября 2004 г. 13:22
В ответ на: Маленький пример отправлено Bill 25 ноября 2004 г. 13:15


\ wordcopy:
\ 00000000 2F7B MOV R23,R27
\ 00000002 2F6A MOV R22,R26
\ 00000004 01D8 MOVW R27 : R26,R17 : R16
\ 00000006 01F9 MOVW R31 : R30,R19 : R18
4 unsigned *temp = dst;
\ 00000008 0198 MOVW R19 : R18,R17 : R16
\ 0000000A C004 RJMP ??wordcopy_0
5
6 while (count--)
7 *dst++ = *src++;
\ ??wordcopy_1:
\ 0000000C 9101 LD R16,Z+
\ 0000000E 9111 LD R17,Z+
\ 00000010 930D ST X+,R16
\ 00000012 931D ST X+,R17
\ ??wordcopy_0:
\ 00000014 018A MOVW R17 : R16,R21 : R20
\ 00000016 5041 SUBI R20,1
\ 00000018 4050 SBCI R21,0
\ 0000001A 2B01 OR R16,R17
\ 0000001C F7B9 BRNE ??wordcopy_1
8 return temp;
\ 0000001E 0189 MOVW R17 : R16,R19 : R18
\ 00000020 2FA6 MOV R26,R22
\ 00000022 2FB7 MOV R27,R23
\ 00000024 9508 RET
9 }

Maximum stack usage in bytes:

Function CSTACK RSTACK
-------- ------ ------
wordcopy 0 0

38 bytes in segment CODE


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

Ответы



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

E-mail: info@telesys.ru