реклама на сайте
подробности

 
 
> Структура в IAR, Компилятор глючит
Rash
сообщение Oct 25 2005, 14:52
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



Всем привет. Что за ерунда IAR копирует идин и тодже регист. Обнуление структуры выглядит так:

Код
 char size = sizeof(stInqRes);
 char *ptr = (U8*)(&stInqRes );
 while (size --)
*(ptr ++) = 0;

в асме выклядит так
Код
//  208   char size = sizeof(stInqRes);
       LDI    R18, 92
//  209   char *ptr = (U8*)(&stInqRes );
       LDI    R16, LOW(stInqRes)
       LDI    R17, (stInqRes) >> 8
       MOVW    R31:R30, R17:R16
//  210   while (size --)
??Event_InqRes_1:
[B]   MOV    R16, R18
       MOV    R18, R16 [/B]
       DEC    R18
       TST    R16
       BREQ    ??Event_InqRes_2
//  211  *(ptr ++) = 0;
       LDI    R16, 0
       ST    Z, R16
       ADIW    R31:R30, 1
       RJMP    ??Event_InqRes_1
??Event_InqRes_2:

зачем туда сюда копировать?
Код
[B]   MOV    R16, R18
       MOV    R18, R16 [/B]
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01359 секунд с 7
ELECTRONIX ©2004-2016