diff options
| -rw-r--r-- | jefs.fs | 4 | ||||
| -rw-r--r-- | jefs.s | 12 |
2 files changed, 15 insertions, 1 deletions
@@ -1,6 +1,9 @@ : decimal 10 base ! ; : hex 16 base ! ; +: cells 8 * ; +: allot here @ swap here +! ; + : [compile] parse find drop >cfa compile, ; immediate : ' parse find drop >cfa [compile] lit ; immediate \ note: no error handling (yet) @@ -9,7 +12,6 @@ : if 0branch here @ 0 d, ; immediate ( I: -- a ) : then dup here @ swap - 4 - swap d! ; immediate -: cells 8 * ; : cell+ 8 + ; : / /mod swap drop ; : mod /mod drop ; @@ -103,6 +103,18 @@ defword "!", store, 0 mov qword [r11], r12 ret +defword "+!", plusstore, 0 + pspop r11 + pspop r12 + add qword [r11], r12 + ret + +defword "-!", minusstore, 0 + pspop r11 + pspop r12 + sub qword [r11], r12 + ret + defword "d!", dstore, 0 pspop r11 pspop r12 |
