Цитата
Use it.
Вот именно к Вам это и относится. Что такого в функциях, написанных на асме (я имею в виду файл, который подключен к сообщению), что делает невозможным прямое написание их на Си и, как результат, не парить моск вопросом связывания Си<->асм?
Цитата
В функции используется только 1а переменная(r16) а пролог тупейше сохраняет ВСЕ регистры!!! Вот вам и 1.1 раза по сравнению с АСМ.Скорее бы Кейл АВРом занялся, а то ИАР какой-то тошнотик.
И будет сохранять. Такой принцип построения компилятора. И другой компилятор действовать будет точно так же (т.е. сохранять scratch-регистры). Способ борьбы - не использовать вложенные функции в прерываниях или писать процедуры прерывания на ассемблере.
Цитата
Но вопрос не праздный, пригодится!
Почему Вы принципиально не хотите прочитать раздел, посвященный интерфейсу сишных и асмовских функций? Вдумчиво прочитать. Там все написано - есть регистры, которые можно изменять (scratch-регистры) и которые нужно приводить на выходе из процедуры в тот же вид, что и на входе. Все. Список тех и других регистров зависит от компилятора, например, в IAR AVR и GCC AVR они разные, и находится этот список в доке по компилятору.
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин