Цитата(SasaVitebsk @ Oct 22 2007, 14:43)

С другой стороны, как я вижу, и как вы сами доказываете - вполне можно пользоваться любым инструментом. Надо просто его хорошо знать. Методы такого рода оптимизации основаны на знании как именно сам компилятор генерит код. С другой стороны, такая оптимизация достаточно зависима от компилятора.
Эээ... попробую пояснить почему я Вас агитировал за Gcc.
Конечно у IAR оптимизатор написан чуть лучше чем у Gcc(в среднем), и на "плохом" коде
это всегда сказывается.
Дальше все зависит от конкретной задачки и от модели компиляции разными компиляторами.
У IAR AVR есть одно принципиальное отличие от других компиляторов,
он использует регистровую пару Y под стек и на этом очень часто превосходит
другие компиляторы, но, задачки то разные бывают...
Посмотрев исходники я увидел что в данной проге очень часто нужно >2 указателей одновременно.
Соответственно преимущество для таких задач будет иметь компилятор у которого больше
регистровых пар в распоряжении, а это Gcc а не IAR.
Просто посмотрите на листинги первоначального варианта кода и количество
использования в них инструкций типа mov X/Z, R(xx):R(xx+1) и mov R(xx):R(xx+1), X/Z