On 01/12/2011 21:40, Georg-Johann Lay wrote: > It's not unusual because: > > * It's not unusual to write down SFRs as violatile memory like > (*((volatile unsigned int*) 0x1234)) or as a cast to a composite > that reflects the SFRs bit(field)s. > > * It's not unusual that microcontrollers can access specific parts > of memory -- in particular I/O -- with special instructions.
Great. Now I'm going to be hearing Tom Jones in my head for the rest of the day! :) (ObTopic: Andrew H's definition of volatile is completely right AIUI and the case reported by Peter B is definitely a very bad bug. Volatile operations are externally visible and must be executed in source-code order.) cheers, DaveK