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

 
 
> Глюк оптимизации в IAR 3.10C
Tech
сообщение Nov 1 2005, 03:36
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 1-12-04
Пользователь №: 1 267



Пол дня искал ошибку, оказалось EW IAR AVR оптимизировал код:

было:
if(a == x1) {...}
if(a == x2) {...}
...
откомпилировалось как:
if(a == x1) {...}
else {...}
...
помогло:
if(a == x1) {...}
else if(a == x2) {...}
else {}
...
или
case
...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tech
сообщение Nov 29 2005, 08:46
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 1-12-04
Пользователь №: 1 267



Как в IAR AVR должны передаваться аргументы во внешнюю ассемблерную функцию?
Возможно я неправильно понял документацию, но из того что я понял следует:
Если внешняя ассемблерная функция объявлена как
extern unsigned int Func(unsigned int, unsigned int);,
то параметры должны передаваться так
R17:R16 Func(R17:R16, R21:R20),
а получилось R17:R16 Func(R17:R16, R19:R18).

Чего я не учёл, может pragma какая?
Или компилятор брыкается?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 00:26
Рейтинг@Mail.ru


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