diff options
Diffstat (limited to 'jefs.fs')
| -rw-r--r-- | jefs.fs | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -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 |
