[an error occurred while processing this directive]
|
Не знаю с какими IARами ты работал, а IAR для AVR v2.27 делает многое из того, что ты перечислил:
char a=i/0x100; - компилируется во взятие старшего байта
>Вот там ниже был вопрос, как swap на С изобразить. Ни за что не >поверю, что такая конструкция у IAR в одну команду будет переведена.
на этот случай у него специальная встроенная функция предусмотрена
>Ну там доступ к битам и другие радости, чего у IAR'а часто нет.
нет потому, как стандартом не предусмотрено. Однако синные конструкции типа "a|=2" компилируются в битовые инструкции.
>HT часто лучше тебя понимает, что ты хотел написать!
а чего в этом хорошего?
>Особенно поразил один случай.
а чего тут удивительного? Не возьмусь утверждать про данный конкретный пример, но IAR тоже часто делает подобную оптимизацию.
E-mail: info@telesys.ru