[SOLVED] Is an assignment to 8 bit-long variable on 8 bit processor always atomic?

I dare to disagree. Volatile can require additional references to the variable, because it can be referenced or updated by parallel code, and then it's crucial that all references are atomic.

If atomicity can be guaranteed only for byte size variables, then it should be noted that volatile can not be applied to multi-byte variables on 8 bit controllers.

A pattern around that restriction are local variables that hold the volatile multi-byte values under control of application code. At the same time the non-local variables should not be attributed volatile, to prevent non-atomic references inserted by the compiler.

The only alternative is a compiler that automatically generates all references to volatile multi-byte variables as atomic operations.