8

volatile заставляет компилятор не оптимизировать запись/чтение в переменную (не заменять ее на регистр а всегда писать в оперативную память, читать и писать ровно когда сказали, ...).
Если вы программируете какую-то железку, где запись по специальным адресам в памяти вызывает какие-то специальные...