uint8_t oldSREG = SREG;// XXXcli();SREG = oldSREG;
what if at XXX an interupt happens, that changes SREG?
.macro restInt _reg=r24 sbrc \_reg, SREG_I sei.endm
One other annoyance is the fact that the interrupt handlers use reti by default also complicates things in the reuse department.
I cant use an interrupt handler function from "normal" code without poential SEI side effects.