A block DO loop consists of:
DO statement
Set of executable statements called a block
Terminal statement, an END DO statement
This loop is nonstandard.
Execution proceeds as follows:
The expressions e1, e2, and e3 are evaluated. If e3 is not present, its value is assumed to be one.
The DO variable is initialized with the value of e1.
The iteration count is established as the value of the expression:
MAX (INT ((e2 - e1 + e3)/),e3 0)
The iteration count is zero if either of the following is true:
e1 > e2 and e3 > zero.
e1 < e2 and e3 < zero.
If the -onetrip compile time option is specified, then the iteration count is never less than one.
The iteration count is tested, and, if it is greater than zero, the range of the DO loop is executed.