Word
|
Stack
|
Description
|
dup
|
( n -- n n )
|
Duplicates the top item of the stack
|
. *
|
( n -- )
|
Prints the top item of the stack in console
|
dump *
|
( -- )
|
Dumps the VM's current status in console
|
swap
|
( n1 n2 -- n2 n1)
|
Swaps the order of the top two items in the stack
|
savestate *
|
( n -- )
|
Saves the VM's state to file n.fmo
|
words *
|
( -- )
|
Lists the primitive words loaded to console
|
loadlib
|
( n -- )
|
Loads the words in n.dll
|
: [;]
|
Special
|
Define a user word. The first word following the : in the estack is the name. All words following until ; is the definition of the word
|
savestack
|
( ... n -- )
|
Pops the entire stack into variable n
|
loadstack
|
( n -- ... )
|
Push's the stack saved in variable n
|
clearstack
|
( ... -- )
|
Clears the entire stack
|
if,[else],then
|
( n -- )
|
If n is true, execute words until else or then. If n is false, execute else to then
|
not
|
( n -- n )
|
If n is true, push false, if n is false, push true
|
>
|
( n1 n2 -- n )
|
If n1 > n2, push true else push false
|
<
|
( n1 n2 -- n)
|
If n1 < n2, push true else push false
|
>=
|
( n1 n2 -- n )
|
If n1 >= n2, push true else push false
|
<=
|
( n1 n2 -- n)
|
If n1 <= n2, push true else push false
|
=
|
( n1 n2 -- n )
|
If n1 == n2, push true else push false
|
!=
|
( n1 n2 -- n )
|
If n1 != n2, push true else push false (technically pushes "= not" to estack)
|
!
|
( n1 n2 -- )
|
Saves n1 to variable n2
|
@
|
( n -- n )
|
Pushes variable n to stack
|