ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
23124 Топик полностью
Ксения (03.03.2005 19:20, просмотров: 2) ответил dormouse на IAR AVR 4.10a. Качаем с сайта, ставим
IAR AVR 4.10a оказалась хуже, чем IAR AVR 3.20c На том же проекте компилит программу длиннее, чем более старая версия. У меня длина программы увеличилась на 40 байт (при 2 К общей длины). Стала разбираться почему так. Оказалось, что новый компилятор начал использовать 27-ой регистр R27 и везде его спасать. Переменные, обявленные глобально регистровыми, использует как обычную память (и это вопреки указанию volatile!). Вот как обе верисии инкрементруют регистровую переменную: I++ IAR AVR 320c: INC R10 // делает так, как и следует, в одну команду IAR AVR 410a: MOV R16, R10 // скопировал в мусорный регистр INC R16 // инкриментировал там MOV R10, R16 // скопировал назад Ну не дурость ли регистр в другой регистр перекачивать, чтобы там ему сделать инкремент? Библиотеки покоцаные... В общем сильно я разочарована новой версий. Есть ли другие отзывы?