Specifications

223
Syntax:
GOSUB label
Description:
GOSUB calls a subroutine specified by label.
Within the subroutine itself, you use a
RETURN statement which indicates the log-
ical end of the subroutine and returns control to the statement just after the
GOSUB that called the subroutine.
You may call a subroutine any number of times as long as the Interpreter allows
the nest level and other conditions.
Subroutines can appear anywhere in a source program. However, you should
separate subroutines from the main program by any means such as by placing
subroutines immediately following the
END or GOTO statement, in order to pre-
vent the main part of the program from falling into those subroutines.
A subroutine can call other subroutines. You can nest
GOSUB statements to a
maximum of 10 levels.
When using the
GOSUB statement together with block-structured statements
(
DEF FN...END DEF, FOR...NEXT, FUNCTION...END FUNCTION, IF...THEN
...ELSE...END
IF, SELECT...CASE...END SELECT, SUB...END SUB, and
WHILE...WEND), you can nest them to a maximum of 30 levels.
Syntax errors:
Flow control statement
GOSUB
Branches to a subroutine.
Error code and message Meaning
error 71: Syntax error label has not been defined.
label is missing.