register = value
example:
eax = 2
a = 2
This is translated into "mov eax, 2", for 32-bit x86.
fun name
example:
fun hello_world
example:
fun hello
eax = 2
ret(0)
ret [retval]
example:
ret(1)
example:
ret
const name = constant
The given value can be a string, comma-separated list of values or a mix of both.
len(name)
Represents the length of a constant, by the given name
x = 2
write(message)
The parentheses contains a short explanation and not part of the examples.
Examples:
a += 2 (addition)
a -= 2 (subtraction)
a /= 2 (division - translated to shl/shr when possible)
a *= 2 (multiplication - translated to shl/shr when possible)
a |= 2 (or)
a &= 2 (and)
a ^= 2 (xor)
a <<< 2 (rol - rotate bits left)
a >>> 2 (ror - rotate bits right)
a += [di+321]
ds -> stack (push ds)
stack -> es (pop es)
ds -> es (push ds, then pop es)