Found it finally withing the documentation , would be nice for the document to include some examples
This bit shows nothing about using the O
Subroutine call: M98
To call a subroutine program: M98 P... L..., where the P parameter defines the number of the
subroutine to call and the L number defines the number of times the subroutine needs to be called.
If the L parameter is not programmed then the default L value of 1 is used.
It is an error if the P parameter is not programmed.
A subroutine call can be placed inside another subroutine. The subroutine stack is 100 level deep.
If a subroutine call is deeper than the subroutine stack size then the stack will get full and a popup
window will indicate this error and the code execution will be stopped. The stack full error is likely
to happen if a subroutine is called from itself which will create an infinate loop and stack overflow.
Return from subroutine: M99
To return from a subroutine program M99.
This will return the line pointer to the code line the call was made.
It is an error if the M99 code was called without an M98 code was called, in this case the code
interpreter will not know where to return the code line pointer and a popup window will indicate
this error and the code execution will stop
Found it in another section though
Subroutines: O
The subroutines are labeled with the 'O' prefix.
Usually the subroutines are placed at the end of the program, after the M30 or M47 code
Any good books on subroutines for dummies ?