Цитата(Kibi @ May 20 2008, 10:06)

есть проблема с компилятором WinAVR-20071221 в прерываниях он ставит push/pop, в результате стека не хватает, хочу заменить на st/ld, кто знает как это зделать, перейти на iar нет возможности.
При вызове функций и заходе в прерывания в любом случае адрес возврата сохраняется в стеке.
Также компилятор размещает на стеке локальные переменные и копии регистров, которые портятся во время обработки прерываний.
Так что не используйте в прерывании функций, не определяйте в функциях локальных переменных - и потребление стека уменьшится.
Крайний вариант - писать обработчики прерываний на асме, тогда можно сделать всё что угодно.
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)