The following commands are built directly into the compiler and serve mostly as syntactic sugar.
Increments the first parameter by the second one. The first parameter is a variable.
Inc($IntVariable, $Value)=$IntVariable += $Value
The second parameter is equal to 1
if isn't specified.
Inc(1@)=1@ += 1
Since the version 3.06 it's possible to use the ++
operator that can be applied to variables and increments their value by one.
$var++=$var += 1
Decrements the first parameter by the second one. The first parameter is a variable.
Dec($IntVariable, $Value)=$IntVariable -= $Value
The second parameter is equal to 1
if isn't specified.
Dec(1@)=1@ -= 1
Since the version 3.06 it's possible to use the --
operator that can be applied to variables and decrements their value by one.
$var--=$var -= 1
Multiplies the first parameter by the second one. The first parameter is a variable.
Mul($IntVariable, $Value)=$IntVariable = $IntVariable * $Value
The second parameter is equal to 2
if isn't specified.
Mul(1@)=1@ = 1@ * 2
Divides the first parameter by the second one. The first parameter is a variable.
Div($IntVariable, $Value)=$IntVariable = $IntVariable / $Value
The second parameter is equal to 2
if isn't specified.
Div(1@)=1@ = 1@ / 2
This function sets the offset of a global variable at the global variable space that exists in the beginning of the main.scm
header.
It's only meaningful for custom variables (e.g. $text
) not defined in the CustomVariables.ini
. DMA
-variables always get their offset based on the number in their names, e.g the variable $40
always occupies four bytes at the offset 160
(40*4).
The first parameter must be a global variable, the second parameter must be a positive integer number or zero.
Alloc($MyVar, 40) - the variable $MyVar will be compiled as $40
See also help\examples\alloc.txt
Multiplies the variable by itself.
sqr($var)=$var *= $var
The variable type has to be declared.
This function generates a random number within the specified range.
$rnd = random(1, $high)
This function can be used for both integer and floating-point variables. The opcode is selected based on the type of the result variable ($rnd
in this example).