Hallo Zusammen

Ich programmiere unter C auf einem AVR. Ich habe immer die Optimierung 2 eingeschaltet.
Nun wann muss ich genau die Interrupts kurz global deaktivieren?
Also im Datasheet von Atmel schreiben sie ja immer man solle sie deaktivieren, wenn man ein 16-Bit Register ausliesst. Also zB.:
Code:
  cli();
  word tmp=TCNT1;
  sei();
Muss man die Interrupts auch deaktivieren, wenn man einfach mit words (das ist bei mir ein 16-Bit langer unsigned typ) rechne?
Also gibt es noch andere Fälle wie der schreibende oder lesende Zugriff auf ein 16-Bit-Reguster?

Vielen Dank für eure Hilfe!
Grüsse cumi