1 DO
  Syntax: DO par = low high [step]
          where  par   is the loop variable (must be a single letter)
                 low   is the starting value
                 high  is the finishing value
                 step  is the (optional) step size (default = 1)

  Starts a  `DO' loop. The  loop is  terminated by an  `ENDDO'. `DO' loops
  only work inside macros  or `DEFINE'd commands.  The limits can be given
  explicitly or  they can be  registers,  parameters, bin  sizes, contents
  etc. (see HELP Numbers for more details).

  Please  note  that I  have  made no  attempt  to  optimize the  speed of
  execution  of a  `DO'  loop. Every  time  through the  loop  the file is
  rewound. However, they are very useful for doing repetitive procedures.

  The value of the loop parameter can be used with the syntax `@par' and a
  direct   character    substitution is   performed.  This  is  useful for
  constructing histogram identifiers for example. Remember that the
  `DO' loop variable must be a single character.

  If you use the loop variable as a number, remember that all
  comparisons use floating point numbers.

2 Examples

!\begin{enumerate}
!\item
!^
  Example 1:

     The  following  example adds   histogram 1&103  to 2&103  putting the
     result in histogram  3&3. A new histogram 4&3  is booked. Then a loop
     over the 100 bins of histogram  3&3 is made and the square of the bin
     contents is put in histogram 4&3.

     This procedure is repeated for histograms 1&104, 2&104, 3&4 4&4 etc.
     up to 1&108 etc:

     DEP R1 = 3
     DEP R2 = 8
     DO I= R1,R2
        ADD 1&10@I 2&10@I 3&@I 1 1
        book/bin/err 4&@I 'New plot'
        1 100 0 100
        dep R5  = 0.0
        set plot 4&@i default
        DO J=1,r131
             dep R5 = R5 + 1
             DEP R6 = Y3&@I(@J) ** 2
             FILL 4&@I R5 R6
        ENDDO
     ENDDO

!\end{enumerate}
