diff options
| author | kitty <nepeta@canaglie.net> | 2026-02-16 22:55:40 +1100 |
|---|---|---|
| committer | kitty <nepeta@canaglie.net> | 2026-02-16 22:55:40 +1100 |
| commit | 9085321aa274b63a30fc6a1edf75820ab6875437 (patch) | |
| tree | f89b5ee9c61e1bb158cb88eb78c13d752ddb6fbb /jefs.fs | |
| parent | 660a99ca247cea4f9de3e5b6744728dd385a9494 (diff) | |
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.
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 |
