Mi sa che ha ragione lui.
Note that in the case of the assembly version, we need to add a "reti" instruction at the end of our interrupt instead of the usual "ret" instruction to return to the main program's execution; this special instruction has the dual function of exiting the ISR, and automatically re-enabling the Global Interrupt Enable bit. This happens inside the C version too when the function returns, we just don't see it normally.
This raises the next point; by default, interrupts are themselves not interruptable. When an interrupt fires, the AVR CPU will automatically disable the Global Interrupt Enable bit, to prevent the ISR from being itself interrupted. This is to prevent stack overflows from too many interrupts occurring at once and to prevent the ISRs from running too long, as most uses of interrupts are to have minimal latency when processing an event. It's perfectly possible to set the Global Interrupt Enable bit again as part of the ISR so that nested interrupts can occur, but this is highly not recommended as it is dangerous.
Citazione dal link 1
Comunque mi sembra che la guida che ti ho postato al primo link è esplicativa.
Il bit globale viene resettato con
reti, il bit dello specifico interrupt invece dipende.
A te interessava un bit di un iterrupt specifico oppure uno schema generale su quali bit singolarmente vengono resettati e come?