Цикл WHILE
Цикл WHILE может использоваться, как и цикл FOR, с тем лишь различием, что условие выхода определяется логическим выражением. Это означает, цикл выполняется, пока верно заданное условие.

Синтаксис::

WHILE "Boolean expression"

"Instructions "

END_WHILE;



Раздел <Instructions> выполняется циклически до тех пор, пока <Boolean_expression> дает TRUE. Если <Boolean_expression> равно FALSE уже при первой итерации, то раздел <Instructions> не будет выполнен ни разу. Если <Boolean_expression> никогда не примет значение FALSE, то раздел <Instructions> будет выполняться бесконечно.
это из справки и DO нету, а в примере есть
Пример:

WHILE counter<>0 DO

Var1 := Var1*2;

Counter := Counter-1;

END_WHILE
вы не пинайте сильно... многие очивидные вещи по началу совершенно неясны...