User manual
672
mikoBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
Setjmp Library
The Setjmp library contains functions and types denitions for bypassing the normal function call and return
discipline.
Library Routines
- Setjmp
- Longjmp
Setjmp
Prototype
sub function setjmp(dim byref env as word[4]) as integer
Returns - 0 if the return is from direct invocation
- nonzero value if the return is from a call to Longjmp (this value will be set by the Longjmp
routine)
Description This function saves calling position for a later use by longjmp.
Parameters:
- env: buffer suitable for holding information needed for restoring calling environment
Requires Nothing.
Example
dim buf as word[4]
...
Setjmp(buf)
Notes None.
Longjmp
Prototype
sub procedure longjmp(dim byref env as word[4], dim val as integer)
Returns Nothing.
Description Restores calling environment saved in the env buffer by the most recent invocation of setjmp. If there
has been no such invocation, or the function containing the invocation of setjmp has terminated in the
interim, the behavior is undened.
Parameters:
- env: buffer holding the information saved by the corresponding setjmp invocation
- val: value to be returned by the corresponding setjmp function
Requires Invocation of longjmp must occur before return from the function in which setjmp was called
encounters.
Example
dim buf as word[4]
...
Longjmp(buf, 2)