This is a standard problem with standard procedures for the embedded space in general.
It all depends how you are going to use these variables and if an interruption during access can lead to wrong results.
If you do not want (or can) disable interrupts, you can have a look at the assembly code to check if the access already is atomic.
The other way is that you use for example an RTOS with its synchronization methods, for example using semaphore or mutex to protect access. Again this all depends on your setup and what you need.
I hope this helps,
Erich