|
сhar a, b;
...
if((a == 0) || (b < 0))
{
a = 1;
b = 2;
};
if(SREG.1)
{
a = 2;
b = 1;
};
Это по вопросам корректности. А про оптимальность кода - отдельный разговор. Один из приколов CV организация компилятором процедур на Ассемблере из двух команд. Авторы видимо не знают, что вызов и возврат такой процедуры съест больше кода, нежели съэкономит. Передача в функцию однобайтового параметра всеравно производится чере Data Stack. Если интересно, то могу продолжить. Я стою пред делемой - IAR или GCC. При неглубоком рассмотрении (до той глубины что я сейчас добурился) мое мнение, что GCC компилирует оптимальнее, чем IAR. Уличал ли кто-нибудь GCC (апрельская версия от AVRfreaks) в багах? И кто, что думает про оптимальность GCC относительно IAR. Особый интерес предствляют большие проекты.
С уважением, derischev.by.ru
E-mail: info@telesys.ru