From ca3e5abb30e74b2b7a3265c382dea5346c730de1 Mon Sep 17 00:00:00 2001 From: kitty Date: Thu, 26 Feb 2026 21:03:27 +1100 Subject: EVALUATE use return stack --- jefs.fs | 5 +---- jefs.s | 16 ---------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/jefs.fs b/jefs.fs index e832d94..0778fcc 100644 --- a/jefs.fs +++ b/jefs.fs @@ -1,6 +1,5 @@ \ i think something is going on with the stack. i dunno \ things TODO: -\ EVALUATE \ DO LOOP \ \ argc/argv @@ -188,13 +187,11 @@ variable hld : words latest @ begin ?dup 0<> while dup (words) @ repeat cr ; : (evaluate) ( c-addr u -- ) 0 >in ! ( u ) #tib ! ( c-addr ) tib ! interpret ; -: evaluate ( c-addr u -- ) >r >r tib @ #tib @ >in @ r> r> (evaluate) >in ! #tib ! tib ! ; +: evaluate ( c-addr u -- ) tib @ >r #tib @ >r >in @ >r (evaluate) r> >in ! r> #tib ! r> tib ! ; \ maybe the old TIB should be on retstack \ so stack undeflows don't fuck with INTERPRET : teststr3 s" 1 2 3 .s 2drop drop" ; -\ teststr3 evaluate .free -words bye diff --git a/jefs.s b/jefs.s index e08ed0f..7684069 100644 --- a/jefs.s +++ b/jefs.s @@ -1129,22 +1129,6 @@ defword ".s", dots, 0 .space: resq 1 .dmsg: db "DONEDONEYIPPEEEE" -defword "TESTSTR", teststr, 0 - mov r11, .msg - pspush r11 - mov r11, 11 - pspush r11 - ret -.msg: db "test string" - -defword "TESTSTR2", teststr2, 0 - mov r11, .msg - pspush r11 - mov r11, 12 - pspush r11 - ret -.msg: db "other string" - defword "HEREDUMP", heredump, 0 mov rdx, [here] mov r11, [h0] -- cgit v1.2.3