Page 44 of 62
SBasic User's Manual SBasic Version 2.7 Page 44
Printed: December 5, 1999
The RETURN statement
SBasic's RETURN statement serves two functions. You can use it to
return control from a subroutine, and you can use it to return control
from an interrupt. For details on processing interrupts, see the
Interrupts section below.
When used in main-line code (code not in an interrupt service
routine), RETURN generates the proper code to return control from a
subroutine. For the 68hc11 and 68hc12 MCUs, this is an RTS
instruction.
Note that SBasic does not check to see if you are using a RETURN
statement after a label. A RETURN statement always generates a
______
Return-from-Subroutine instruction in main-line code, regardless of
where it occurs.
When used in an interrupt section, RETURN generates the proper code to
return control from an interrupt or exception. For the 68hc11 and
68hc12 MCUs, this is an RTI instruction.
Additionally, a RETURN statement in main-line code may optionally
include a value that will be returned to the calling routine. For
example:
return ' this statement just returns
return j+3 ' this statement returns a value
You may include a RETURN statement with a returned value at any point
in your code, even inside an interrupt section. However, the returned
value will only have meaning if it occurs in main-line code, and even
then only if control is returning to a USR() invocation. Returned
values to a GOSUB are ignored, as are returned values from an
interrupt section.