From 9085321aa274b63a30fc6a1edf75820ab6875437 Mon Sep 17 00:00:00 2001 From: kitty Date: Mon, 16 Feb 2026 22:55:40 +1100 Subject: CREATE asm word i Probably should change : to use this. and while i'm at it make a word for setting/unsetting the smudge bit. --- jefs.fs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'jefs.fs') diff --git a/jefs.fs b/jefs.fs index b4e2624..8e56fd2 100644 --- a/jefs.fs +++ b/jefs.fs @@ -1,3 +1,9 @@ +: cell+ 8 + ; +: syswrite ( u c-addr fd -- n ) 1 syscall3 ; +: say ( c-addr u -- ) swap 1 syswrite drop ; +: emit ( chr -- ) sp cell+ 1 swap 1 syswrite 2drop ; +: cr 10 emit ; + : decimal 10 base ! ; : hex 16 base ! ; @@ -6,18 +12,16 @@ : [compile] parse find drop >cfa compile, ; immediate : ' parse find drop >cfa [compile] lit ; immediate \ note: no error handling (yet) +: constant create [compile] lit 195 ( ret ) c, ; +65 constant TESTING : begin here @ ; immediate : again branch here @ 4 + - d, ; immediate \ add 4 to get to beginning of the next instruction +: until 0branch here @ 4 + - d, ; : if 0branch here @ 0 d, ; immediate ( I: -- a ) : then dup here @ swap - 4 - swap d! ; immediate -: cell+ 8 + ; : / /mod swap drop ; : mod /mod drop ; -: syswrite ( u c-addr fd -- n ) 1 syscall3 ; -: say ( c-addr u -- ) swap 1 syswrite drop ; -: emit ( chr -- ) sp cell+ 1 swap 1 syswrite 2drop ; -: cr 10 emit ; TESTSTR say cr bye -- cgit v1.2.3