Ach so war das gemeint, dann ist alles klar...

bei C weiß man natürlich erst dann genau wieviel Assemblercode letztendlich entsteht, wenn man im Listing nachschaut.


Also: je weniger Variablen man in einer ISR ändert, desto besser. Denn in C kann sogar das setzen eines einzelnen Bits in einer Variable unter Umständen von einem Interrupt unterbrochen werden (je nachdem was der Compiler draus macht). Dennoch sollte das nicht zu Problemen führen, wenn man diesen Fall beim Programmieren im Hinterkopf behält, und das Programm entsprechend strukturiert.

Setzt man in einer ISR z.B. tatsächlich nur ein Flag, und erledigt die eigentliche Arbeit in der Hauptschleife, braucht man sich wegen solchen Dingen keine Sorgen machen (Ausnahme: der ADC, da kann es durchaus sinnvoll/notwendig sein den Interrupt abzuschalten, bevor man den aktuellen Wert ausliest).