VMS Help  —  PASCAL  Attributes  VOLATILE
  The VOLATILE attribute indicates to the compiler that the  value
  of  an  object is subject to change at unusual points in program
  execution.   Normally,  during  execution,  an  object's   value
  generally  changes  only  when  another value is assigned to it,
  when it is passed as a writeable VAR parameter, when it is  read
  into  by  a READ, READLN, or READV procedure, or when it is used
  as the control variable of a FOR loop.

  In addition, the compiler expects to evaluate  the  object  only
  when it appears in an expression.

  The value of a volatile object may change as the  result  of  an
  action  not  directly  specified  in  the  program.   Thus,  the
  compiler assumes that the value of  a  volatile  object  can  be
  changed  or  evaluated  at  any  time  during program execution.
  Consequently, a volatile object  does  not  participate  in  any
  optimization based on assumptions about its value.

  The behavior of many  device  registers,  and  modifications  by
  asynchronous  processes and exception handlers, are two examples
  that demonstrate volatile behavior.

  See the "HP Pascal Language Reference Manual" for  the  complete
  description of using the VOLATILE attribute.
Close Help