You are here: Home DOCUMENTATION information SBASIC Manual - Page 44

Technological Arts Inc.

Your Shopping Cart

Your Cart is currently empty.

SBASIC Manual - Page 44

Article Index
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
Page 11
Page 12
Page 13
Page 14
Page 15
Page 16
Page 17
Page 18
Page 19
Page 20
Page 21
Page 22
Page 23
Page 24
Page 25
Page 26
Page 27
Page 28
Page 29
Page 30
Page 31
Page 32
Page 33
Page 34
Page 35
Page 36
Page 37
Page 38
Page 39
Page 40
Page 41
Page 42
Page 43
Page 44
Page 45
Page 46
Page 47
Page 48
Page 49
Page 50
Page 51
Page 52
Page 53
Page 54
Page 55
Page 56
Page 57
Page 58
Page 59
Page 60
Table of Contents
All Pages

     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

     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

          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.