summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jefs.fs4
-rw-r--r--jefs.s12
2 files changed, 15 insertions, 1 deletions
diff --git a/jefs.fs b/jefs.fs
index 2f262f6..b4e2624 100644
--- a/jefs.fs
+++ b/jefs.fs
@@ -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 ;
diff --git a/jefs.s b/jefs.s
index 2ea2f69..555d430 100644
--- a/jefs.s
+++ b/jefs.s
@@ -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