module  acc {
/* module description of an accumulator */
   input     in<8> ;
   output    out<8> ;
   reg       acc<8> ;
   instrin   load ;
   instrin   hold ;
   instrin   reset ;

   instruct  reset
   /* if reset is active */
      par {
         acc := 0b00000000 ;
         out = acc ;
         }
   instruct load
   /* if load is active */
      par {
         acc := in ;
         out = acc ;
         }
   instruct hold
   /* if hold is active */
      out = acc ;
   }