Parallax BASIC Stamp 2e Programming Manual page 268

Table of Contents

Advertisement

RETURN - BASIC Stamp Command Reference
this time) and because there wasn't a previous place to return to, the
BASIC Stamp will start the entire program over again. This would cause
an endless loop. The important thing to remember here is to always make
sure your program doesn't allow itself to "fall into" a subroutine.
Demo Program (RETURN.bs2)
' This program demonstrates a potential bug caused by allowing a program to 'fall into' a
' subroutine. The program was intented to indicate that it is "Starting...", then
' 'Executing Subroutine', then 'Returned...' from the subroutine and stop. Since we
' left out the END command (indicated in the comments), the program then falls into the
' subroutine, displays 'Executing..." again and then RETURNs to the start of the program
' and runs continuously in an endless loop.
'{$STAMP BS2}
DEBUG "Starting Program",CR
Main:
PAUSE 1000
GOSUB DemoSub
PAUSE 1000
DEBUG "Returned from Subroutine", CR
PAUSE 1000
DemoSub:
DEBUG " Executing Subroutine", CR
RETURN
Page 266 • BASIC Stamp Programming Manual 2.0b • www.parallaxinc.com
'STAMP directive (specifies a BS2)
'Indicate the start of the program
'Call the subroutine
'Indicate the return from the subroutine
'<-- Forgot to put an 'END' command here
'Indicate the execution of the subroutine
2
2
2
1
2
e
p
sx
NOTE: This is written for the BS2
but can be used for the BS1, BS2e,
BS2sx and BS2p also. Locate the
proper source code file or modify
the STAMP directive before
downloading to the BS1, BS2e,
BS2sx or BS2p.

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the BASIC Stamp 2e and is the answer not in the manual?

Table of Contents