diff options
Diffstat (limited to 'readme.md')
| -rw-r--r-- | readme.md | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -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 |
