From 9ddee3df23c1abc39a5e0e0605c4f815db113e3e Mon Sep 17 00:00:00 2001 From: kitty Date: Thu, 22 Jan 2026 02:07:32 +1100 Subject: some notes in the readme, vim folding in .s --- readme.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'readme.md') diff --git a/readme.md b/readme.md index 03ea80f..d77c014 100644 --- a/readme.md +++ b/readme.md @@ -9,6 +9,20 @@ the plan right now is that this will be an STC forth. if this proves Too Complicated To Deal With the plan may be changed to a DTC forth instead. +## dictionary +the dictionary follows a fairly standard format. + +| field | size | +| :---- | :--- | +| link to previous | 8 bytes | +| flag | 1 byte | +| string length | 2 bytes | +| string | variable length | +| code | variable length | + +probably, some bitmask antics could be done to store the string length +and flags together. but alternatively: no. + ## forth registers there are a set of 'virtual registers' (see moving forth part 1) @@ -33,3 +47,16 @@ so a wonky but hopefully not too slow solution is to compile - `mov r11, [cfa]` = `94 BB [CFA]` - `call r11` = `41 FF D3` + +# Some Links + +- starting forth part 1: http://www.bradrodriguez.com/papers/moving1.htm +- a forum thread about determining empty stack with TOS register: http://forum.6502.org/viewtopic.php?t=8424 + +## silly little plans + +### in-forth assembler +this would reap the most benefits from STC. +probably look at dusk's assemblers for how it should look like +or liek something liek dusk's lib/bm? +idk something to do stuff Fast if u need. would be fun -- cgit v1.2.3