diff options
Diffstat (limited to 'jefs.fs')
| -rw-r--r-- | jefs.fs | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -1,6 +1,6 @@ : cell+ 8 + ; : syswrite ( u c-addr fd -- n ) 1 syscall3 ; -: say ( c-addr u -- ) swap 1 syswrite drop ; +: say ( c-addr u -- ) swap 2 syswrite drop ; : emit ( chr -- ) sp cell+ 1 swap 1 syswrite 2drop ; : cr 10 emit ; @@ -42,19 +42,19 @@ decimal \ mostly from pforth \ currently broken if unsigned number has more than 18 digits \ unfortunately this also seems to include any negative number +\ it continues reading words but a number literal causes a crash variable hld : <# dap hld ! ; : hold 1 hld -! ( chr ) hld @ c! ; : sign 0< if [ char - ] literal hold then ; -: # base @ /mod swap 9 over > if 7 + then [ char 0 ] literal + hold ; +: # base @ /mod swap 9 over > if 7 + then [ char 0 ] literal + hold ; \ issue is in here i think? : #s begin # dup 0= until ; : #> drop hld @ dap over - ; -: ud. <# #s #> say space ; +: ud. <# #s #> say ; -: t ." testtest" cr ; -: testing 0 if TESTSTR else TESTSTR2 then say cr ; +: t ." testtesttesttest" cr ; -1000000000000000000 999999999999999999 .s -drop ud. -testing bye +bye +\ 100000000000000000 ud. bye +\ t testing bye |
