Ответ: Маленькая "подсказка" компилятору помогла ему сгенерировать
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Bill 10 июля 2003 г. 18:35
В ответ на: Ответ: Это реализация операции *dst++, поскольку у MSP отсутствует автоинкрементная отправлено Bill 10 июля 2003 г. 17:49

более оптимальный код

char *strcpy(char *dst, char *src)
{
char *ptr = dst;
while (*ptr = *src++)
++ptr;
return dst;
}
16 char *strcpy(char *dst, char *src)
\ strcpy:
17 {
18 char *ptr = dst;
\ 000000 0F4C MOV.W R12, R15
\ 000002 013C JMP ??strcpy_1
19 while (*ptr = *src++)
20 ++ptr;
\ ??strcpy_0:
\ 000004 1F53 ADD.W #0x1, R15
\ ??strcpy_1:
\ 000006 7D4E MOV.B @R14+, R13
\ 000008 CF4D0000 MOV.B R13, 0(R15)
\ 00000C 4D93 CMP.B #0x0, R13
\ 00000E FA23 JNE ??strcpy_0
21 return dst;
\ 000010 3041 RET
22 }
23


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

Ответы



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

E-mail: info@telesys.ru