While we cannot directly observe this program when it executes, we can
attach a debugger and control its execution through breakpoints and watchpoints.
Notice that this program has two global variables (i and off) one of
which is initialized to zero and the other has a non-zero initizializer. Furthermore
the program has a single procedure other than main and repeatedly calls
this procedure.