Directives 

ON...GOSUB

Conditional Subroutine Execution

Format

ON num GOSUB stmtref,stmtref,...

Where:

num

Value determines the location to which to transfer. Numeric expression. Integer range -32768 to +32767.

stmtref

Program line number or statement label to which to transfer control.

Description

Use the ON ... GOSUB directive to transfer control to a subroutine at one of the statement references listed, based on the numeric value supplied:

 

num <=0

Control is transferred to the first statement specified.

 

num =1

Control is passed to the second statement number specified.

 

num =2

Control is passed to the third.

 

num =3… nnn

Control is passed sequentially.

If num is greater than the number of stmtref supplied, the last stmtref is assumed.

See Also

GOSUB.. Execute Subroutine
RETURN Return From a Subroutine

Example

0020 on X gosub 0100,0200,0300,0400,0500

 

ON...

GOSUB

 

X <= 0

Transfers to 0100

 

X = 1

Transfers to 0200

 

X = 2

Transfers to 0300

 

X = 3

Transfers to 0400

 

X >= 4

Transfers to 0500