
Chapter 14. Statement Reference
205
____________________________________________________________________
Flow control statement
GOSUB
Branches to a subroutine.
____________________________________________________________________
Syntax:
Syntax:Syntax:
Syntax:
GOSUB label
Description:
Description:Description:
Description:
GOSUB calls a subroutine specified by label.
• Within the subroutine itself, you use a RETURN statement which indicates the logical 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:
Syntax errors:Syntax errors:
Syntax errors:
Error code and message Meaning
error 71: Syntax error
• label has not been defined.
• label is missing.
Run
RunRun
Run-
--
-time errors:
time errors:time errors:
time errors:
Error code Meaning
03h
RETURN without GOSUB
07h
Insufficient memory space
(Too deep nesting)
Reference:
Reference:Reference:
Reference:
Statements: RETURN
Komentarze do niniejszej Instrukcji