GOSUB

Top  Previous  Next

Action

Branch to and execute subroutine.

 

 

Syntax

GOSUB label

 

 

Remarks

Label

The name of the label where to branch to.

 

With GOSUB, your program jumps to the specified label, and continues execution at that label.

When it encounters a RETURN statement, program execution will continue after the GOSUB statement.

 

 

See also

GOTO , CALL , RETURN

 

 

Example

'-----------------------------------------------------------------------------------------

'name                     : gosub.bas

'copyright                : (c) 1995-2005, MCS Electronics

'purpose                  : demo: GOTO, GOSUB and RETURN

'micro                    : Mega48

'suited for demo          : yes

'commercial addon needed  : no

'-----------------------------------------------------------------------------------------

 

$regfile = "m48def.dat"                                   ' specify the used micro

$crystal = 4000000                                         ' used crystal frequency

$baud = 19200                                               ' use baud rate

$hwstack = 32                                               ' default use 32 for the hardware stack

$swstack = 10                                               ' default use 10 for the SW stack

$framesize = 40                                             ' default use 40 for the frame space

 

Goto Continue

Print "This code will not be executed"

 

Continue:                                                 'end a label with a colon

Print "We will start execution here"

Gosub Routine

Print "Back from Routine"

End

 

 

Routine:                                                   'start a subroutine

Print "This will be executed"

Return                                                     'return from subroutine