![]() | LEGO Mindstorms EV3 |
Program example with commonly used items
// Constants are declared in between objects (vmthread and subcall)
define MY_GLOBAL_CONSTANT 100 // MY_GLOBAL_CONSTANT equals 100
// Global variables are declared in between objects
DATAF MyGlobalFloat // MyGlobalFloat is of the type float
vmthread MAIN // All programs must start with the "main" thread object (more vmthread's are allowed)
{
// Local variables are declared inside objects and are only valid here
DATA8 MyLocalByte // MyLocalByte is of the type signed byte
Loop: // Labels are local and only recognised inside the object (Symbolic names can be reused in other objects)
CALL(MySubcall,MyLocalByte) // Call MySubcall with one parameter
MOVE8_F(MyLocalByte,MyGlobalFloat) // Assign the return parameter value from MySubcall to MyGlobalFloat
JR(Loop) // Jump unconditional to label "Loop"
}
subcall MySubcall // Sub calls are all global objects
{
IO_8 MyParameter // Declare sub call parameters
DATA8 MyLocalVariable // Declare sub call local variables
MOVE8_8(MY_GLOBAL_CONSTANT,MyLocalVariable) // Initialise MyLocalVariable
MOVE8_8(MyLocalVariable,MyParameter) // Return the value of MyLocalVariable in parameter MyParameter
}