Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

всю жизнь это делалось библиотечной функцией memcpy()

Отправлено Alex B 10 февраля 2009 г. 01:13
В ответ на: Дык абисни чайнику - как его ровнять-то... отправлено пользователем Гудвин 10 февраля 2009 г. 00:34

напрямую, конечно, не получится, но за 10 минут все можно поправить. Вполне возможно, что под остальные архитектуры memcpy() даст не худший результат - попробуй с AVR

для сравнения:

894: fp->fsize = LD_DWORD(&dir[DIR_FileSize]); /* File size */
14AE 905876 mov.b [0x000c+31],0x0000
14B0 905966 mov.b [0x000c+30],0x0004
14B2 905A56 mov.b [0x000c+29],0x0008
14B4 905B46 mov.b [0x000c+28],0x000c
14B6 DD00C8 sl 0x0000,#8,0x0002
14B8 200000 mov.w #0x0,0x0000
14BA FB8182 ze 0x0004,0x0006
14BC 200002 mov.w #0x0,0x0004
14BE 700002 ior.w 0x0000,0x0004,0x0000
14C0 708083 ior.w 0x0002,0x0006,0x0002
14C2 DD2248 sl 0x0008,#8,0x0008
14C4 200005 mov.w #0x0,0x000a
14C6 700004 ior.w 0x0000,0x0008,0x0000
14C8 708085 ior.w 0x0002,0x000a,0x0002
14CA FB8306 ze 0x000c,0x000c
14CC 200007 mov.w #0x0,0x000e
14CE 700006 ior.w 0x0000,0x000c,0x0000
14D0 708087 ior.w 0x0002,0x000e,0x0002
14D2 980550 mov.w 0x0000,[0x0014+10]
14D4 980561 mov.w 0x0002,[0x0014+12]
895:
896: memcpy((BYTE*)&fp->fsize, (BYTE*)&dir[DIR_FileSize], 4);
14D6 4500EA add.w 0x0014,#10,0x0002
14D8 97A90F mov.w [0x001e-48],0x0004
14DA 41007C add.w 0x0004,#28,0x0000
14DC 090003 repeat #3
14DE 7858B0 mov.b [0x0000++],[0x0002++]
14E0 B10041 sub.w 0x0002,#0x4
14E2 B10040 sub.w 0x0000,#0x4


Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 2 вдвое:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru