| ON...GOSUB | Conditional Subroutine Execution | 
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. | 
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.
GOSUB.. Execute Subroutine
RETURN Return From a Subroutine
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 |