Tzn ale nie traktuj mojej wypowiedzi, że chcę cię zbyć - że nic nie można ....
ot po prostu podpowiadam ci dobrą praktykę i zagrożenia jaki się wiążą niestety z takim podejściem ....
Bo nie ma czary mary jak piszesz że są jakieś sztuczki aby uniknąć odkładania na stosie ... pomyśl każde wywołanie funkcji nawet bez argumentów to już dodatkowe zwiększenie stosu , a z argumentami ??? to chyba nie muszę mówić
a do tego pytałeś o __attribute__ ((naked)); ????
o nie nie

żeby się tym bawić to już trzeba ZNAĆ ASEMBLERA

... nie ma że boli ... wiesz kiedy możesz sobie dać NAKED jeśli nie znasz ASM ??
gdy potrzebujesz sobie np ustawić lub zgasić diodę LED czy tam zmienić stan pinu - bo to skompiluje się do JEDNEJ tylko instrukcji ASM, która w ogóle nie ma wpływu na rejestry znaczników i nie użyte zostaną żadne rejestry - odkładane i pobierane w epilogu i prologu
no ale jakbyś do takiego czegoś co tu wymyślasz i to jeszcze z callbackami dał atrybut NAKED, to uwierz mi - nie potestujesz tego za bardzo

w ogóle nie potestujesz - bo to nie będzie miało prawa działać

inną sytuacją gdzie chciałbyś dać NAKED to wtedy gdy sam CAŁĄ procedurę obsługi przerwania napiszesz sobie w asemblerze i sam zrobisz chcąc nie chcąc prolog i epilog ale po swojemu.
Więc teraz mam nadzieję, że lepiej doprecyzowałem to o co mi chodziło w podpowiedziach moich?
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]