summaryrefslogtreecommitdiff
path: root/r1b.txt
diff options
context:
space:
mode:
Diffstat (limited to 'r1b.txt')
-rw-r--r--r1b.txt70
1 files changed, 70 insertions, 0 deletions
diff --git a/r1b.txt b/r1b.txt
new file mode 100644
index 0000000..7baa9c8
--- /dev/null
+++ b/r1b.txt
@@ -0,0 +1,70 @@
+nop
+rot (abc-bca)
+-rot (abc-cab)
+dup (x-xx)
+swap (xy-yx)
+over (xy-xyx)
+drop (xy-x)
+tuck (xy-yxy)
+nip (xy-y)
+lit (-l)
+equal (xy-f)
+nequal (xy-f)
+add (xy-z)
+sub (xy-z)
+mul
+div
+neg
+slt
+ult
+sle
+ule
+lod (a-d)
+sto (da-)
+push
+pop
+
+
+
+what abotu either
+
+1[addr:15] : call
+0
+01 literal
+
+
+want:
+calls (15 bits)
+j, cj, relative addr, 8 bits
+lit, 4 or 8 or 16 bits
+mark,loc,ret, + 4bit arg
+regular op, no arg (between 16 and 32 of these)
+
+CALL (addr:15)
+or
+JMP (cond?:1) (rdst:rest)
+or
+(mark/loc/ret/lit4) (arg:4)
+or
+
+regular op (7 bits)
+
+
+
+OPW:7: 1 T:2 arg:4
+OPR:7: 0 opcode:6
+ 00 - 3f regular opcodes (64 of them)
+ 4x mark x
+ 5x loc x
+ 6x ret x
+ 7x lit4 x
+
+I: 0 0 (OPW|OPR) (OPW|OPR)
+J: 0 1 0 cond? raddr:12
+L: 0 1 1 value:13
+C: 1 addr:15
+
+
+
+
+