diff options
| author | kitty <nepeta@canaglie.net> | 2026-01-30 21:25:04 +1100 |
|---|---|---|
| committer | kitty <nepeta@canaglie.net> | 2026-01-30 21:25:04 +1100 |
| commit | 0eb8b9538c68048bc24520719ea4fa69b1509030 (patch) | |
| tree | f7668b04b06ed3fbedc2ab27c95c4da53ee66467 /readme.md | |
| parent | b618fbabca4660203ea4801ddc1b4fb38ca5347e (diff) | |
more primitives, notably PARSE, untested
Diffstat (limited to 'readme.md')
| -rw-r--r-- | readme.md | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -28,7 +28,7 @@ there are a set of 'virtual registers' (see moving forth part 1) - W, the working register, is r11. - X, the secondary working register, is r12. -- IP, the instruction pointer, is r13. (this will only be needed if we switch to DTC, otherwise this can be Y, a third general purpose register) +- Y, the tertiary working register, is r13. - SP, the working stack pointer, is r14. - RSP, the return stack pointer, is rsp. @@ -57,8 +57,11 @@ but obviously we need *something* to bootstrap from. - `:` (` -- `): compile a word from the current input source - `;` (` -- `): stop compiling the current word - `parse` (` -- c-addr u`): parse a word from the *forth init* (see footnote) +- `find` (`c-addr u -- ?lfa flag`) +- `interpret`: the stage 1 interpreter - `latest`: a variable, the latest defined word - `state`: a variable, determines current mode (interp./compiling) +- `>in`: a variable, offset from start of forth init on `parse`: i don't want to deal with file access and stuff from the kernel. so this word will be Upgraded in the forth init to read from a file. |
