summaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/readme.md b/readme.md
index 2c17143..b5eae4b 100644
--- a/readme.md
+++ b/readme.md
@@ -84,6 +84,9 @@ this word does not update latest.
### `(hide) ( ht -- )`
set the smudge bit on the header ht.
+### `(unhide) ( ht -- )`
+unset the smudge bit on the header ht.
+
### `* ( u1 u2 -- u )`
multiply u1 and u2.
@@ -143,6 +146,9 @@ set the system to compiling mode.
### `: ( "name" -- )`
start compilation of the word 'name'.
+### `:noname ( -- xt )`
+start compiling a nameless, headerless word and yield its xt.
+
### `; ( -- ) IMMEDIATE`
end compilation of the currently compiling word.
@@ -205,6 +211,9 @@ move a value from the working stack to the return stack.
### `>resolve ( a -- )`
mark the destination of a forward branch.
+### `?allocate ( u -- a e )`
+allocate a dynamic block of memory, producing an error on failure.
+
### `?branch ( -- )`
compile into user memory an incomplete conditional branch.
if the value on the stack is zero the branch is taken.
@@ -219,6 +228,15 @@ if a word was found,
its link field address is returned along with the true flag.
if no word was found or the string is of length zero, abort.
+### `?notfound ( -- )`
+produce a word not found error.
+
+### `?overflow ( -- )`
+produce a stack overflow error.
+
+### `?underflow ( -- )`
+produce a stack underflow error.
+
### `0= ( n -- ? )`
return true if n is equal to zero.
@@ -256,6 +274,9 @@ call the error handler
### `again ( -- ) IMMEDIATE COMPILE-ONLY`
complete an infinite loop began by the word `begin`.
+### `allocate ( u -- a e )`
+allocate a dynamic block of memory.
+
### `allot ( u -- )`
reserve u bytes of user memory.
@@ -413,6 +434,9 @@ which is used as the user memory space.
### `execute ( xt -- )`
call the word xt.
+### `exit ( -- ) IMMEDIATE COMPILE-ONLY`
+compile into the current definition a return instruction.
+
### `false ( -- u )`
a cell with no bits set.
@@ -422,6 +446,9 @@ a zero is returned along with the original given string
if no word was found. if a word was found,
its link field address is returned along with the true flag.
+### `free ( a u -- e )`
+free the given block of memory created by `allocate`.
+
### `grow ( u -- )`
grows, and marks as executable, the user memory space by u bytes.
@@ -501,6 +528,9 @@ perform a munmap(2) system call.
### `nip ( u1 u2 -- u2 )`
drop the second-highest value from the stack.
+### `nonaming ( -- ? )`
+a `value`: true if the currently compiling word is a `:noname` word.
+
### `number ( a u -- n -1 | 0 )`
convert given string into a number along with a flag.
if parsing a number fails then 0 (false) is returned