| 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
|