- Name:
- on gosub
- Syntax:
-
ON offset GOSUB address0, address1, ...addressN
Offset - is a variable/constant which specifies which subprocedure to use (0-N).
Addresses - are labels which specify which subprocedure to gosub to.
- Description:
-
Gosub address specified by offset (if in range).
This command allows a conditional gosub depending on the value of the variable 'offset'. If offset is value 0, the program flow will gosub to address0, if offset is value 1 program flow will gosub to adddress1 etc. If offset is larger than the number of addresses the whole command is ignored and the program continues at the next line. The return command of the sub procedure will return to the line after on...gosub. This command counts as a single gosub within the compiler.
Set LED according to variable value
The 'on gosub' branch taken depends on the value of the b1 variable and as it increases a different LED will be set.
- Code Example:
-
reset1: let b1 = 0 low B.0 low B.1 low B.2 low B.3 main: pause 1000 inc b1 if b1 > 3 then reset1 on b1 gosub btn0,btn1, btn2, btn3 goto main btn0: high B.0 ; always skipped in this example return btn1: high B.1 return btn2: high B.2 return btn3: high B.3 return
Copy Code Submit an Example
Submit Your Own Code!
You must be logged in to submit code examples. Login now.