Interrupt variable exceeds volatile long's 8bit size

Thanks for the help everyone. I've confused myself, I misunderstood ' If the volatile variable is bigger than a byte (e.g. a 16 bit int or a 32 bit long), then the microcontroller can not read it in one step, because it is an 8 bit microcontroller. This means that while your main code section (e.g. your loop) reads the first 8 bits of the variable, the interrupt might already change the second 8 bits. This will produce random values for the variable.' this part of the documentation.

So just to clarify if I have a variable: 'volatile long counts;'. It can store values greater than 255?

'This means that while your main code section (e.g. your loop) reads the first 8 bits of the variable, the interrupt might already change the second 8 bits. This will produce random values for the variable.' this part of the documentation. ' Can someone please explain in simple terms what is meant by this?