mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-28 09:28:06 +11:00
2d17b4e8ec
I'm not sure why I chose null-terminated initially. Probably because the z80asm version had null-terminated strings. Length-prefixes strings are the traditional form of strings in Forth and it's a bit easier to work with them with traditional forth words when they're under this form.
11 lines
262 B
Plaintext
11 lines
262 B
Plaintext
: ,"
|
|
BEGIN
|
|
C< DUP 34 ( ASCII " ) = IF DROP EXIT THEN C,
|
|
AGAIN ;
|
|
: LIT"
|
|
34 , ( litWord ) H@ 0 C, ,"
|
|
DUP H@ -^ 1- ( a len ) SWAP C!
|
|
; IMMEDIATE
|
|
: ." [COMPILE] LIT" COMPILE (print) ; IMMEDIATE
|
|
: ABORT" [COMPILE] ." COMPILE ABORT ; IMMEDIATE
|