Page 28 of 62
SBasic User's Manual SBasic Version 2.7 Page 28
Printed: December 5, 1999
statement and the LOOP statement. You may include an optional
comparison clause in either the DO statement or in the LOOP statement.
Examples:
do ' start of a do-loop
gosub process ' do something useful
loop ' end of loop
The above example will loop forever, since it has no comparison
clause. An endless loop is often used as the core of a large program.
do while a < 500 ' loop while a is less than 500
a = a + 1 ' increment a
loop ' end of loop
This example mimics the WHILE-WEND loop above.
do until a > b ' loop until a is greater than b
a = a + c/2 ' change value of a
loop ' end of loop
The above example loops until the value in A is greater (signed) than
the value in B.
do ' start of a do-loop
a = peekb($1000) ' read a value from an I/O port
loop while a = 0 ' loop while a equals 0
The above example loops for so long as the value read from the I/O
port equals 0.
do ' start of a do-loop
a = peekb($1000) ' read a value from an I/O port
loop until a = $ff ' loop until a equals $ff
The above example loops until the value read from the I/O port equals
$ff.
The DO-LOOP provides great flexibility for loop control, because you
can control when the comparison occurs in the loop. If you place the
comparison in the DO statement, the test is performed before the body
of the loop is executed. By placing the comparsion in the LOOP
statement, you can force the body of the loop to execute before the
comparison is performed.