aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-01-07 02:04:36 +0100
committerDimitri Sokolyuk <demon@dim13.org>2018-01-07 02:04:36 +0100
commit861d1ba5caa3fa3becd8a14a5e8848f7267a23a3 (patch)
tree7934812c55c49dfc3b7206f5e7c2d063256dd600
parenta9191403be49cf6fed3127919dcba6f4cc4d9f0a (diff)
cleanup
-rw-r--r--basewords.go58
-rw-r--r--basewords_test.go15
-rw-r--r--eval.go2
3 files changed, 1 insertions, 74 deletions
diff --git a/basewords.go b/basewords.go
deleted file mode 100644
index 99bcbd0..0000000
--- a/basewords.go
+++ /dev/null
@@ -1,58 +0,0 @@
-package j1
-
-var BaseWords = map[string][]ALU{
- "noop": {{Opcode: opT}},
- "+": {{Opcode: opTplusN, Ddir: -1}},
- "xor": {{Opcode: opTxorN, Ddir: -1}},
- "and": {{Opcode: opTandN, Ddir: -1}},
- "or": {{Opcode: opTorN, Ddir: -1}},
- "invert": {{Opcode: opNotT}},
- "=": {{Opcode: opNeqT, Ddir: -1}},
- "<": {{Opcode: opNleT, Ddir: -1}},
- "u<": {{Opcode: opNuleT, Ddir: -1}},
- "swap": {{Opcode: opN, TtoN: true}},
- "dup": {{Opcode: opT, TtoN: true, Ddir: 1}},
- "drop": {{Opcode: opN, Ddir: -1}},
- "over": {{Opcode: opN, TtoN: true, Ddir: 1}},
- "nip": {{Opcode: opT, Ddir: -1}},
- ">r": {{Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1}},
- "r>": {{Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1}},
- "r@": {{Opcode: opR, TtoN: true, Ddir: 1}},
- "@": {{Opcode: opAtT}},
- "!": {{Opcode: opT, NtoAtT: true, Ddir: -1}, {Opcode: opN, Ddir: -1}},
- "dsp": {{Opcode: opDepth, TtoN: true, Ddir: 1}},
- "lshift": {{Opcode: opNlshiftT, Ddir: -1}},
- "rshift": {{Opcode: opNrshiftT, Ddir: -1}},
- "1-": {{Opcode: opTminus1}},
- "2r>": {{Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1},
- {Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1},
- {Opcode: opN, TtoN: true}},
- "2>r": {{Opcode: opN, TtoN: true},
- {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1},
- {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1}},
- "2r@": {{Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1},
- {Opcode: opR, TtoN: true, Rdir: -1, Ddir: 1},
- {Opcode: opN, TtoN: true, Ddir: 1},
- {Opcode: opN, TtoN: true, Ddir: 1},
- {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1},
- {Opcode: opN, TtoR: true, Rdir: 1, Ddir: -1},
- {Opcode: opN, TtoN: true}},
- "unloop": {{Opcode: opT, Rdir: -1}, {Opcode: opT, Rdir: -1}},
- "exit": {{Opcode: opT, RtoPC: true, Rdir: -1}},
-
- // Elided words
- "dup@": {{Opcode: opAtT, TtoN: true, Ddir: 1}},
- "dup>r": {{Opcode: opT, TtoR: true, Rdir: 1}},
- "2dupxor": {{Opcode: opTxorN, TtoN: true, Ddir: 1}},
- "2dup=": {{Opcode: opNeqT, TtoN: true, Ddir: 1}},
- "!nip": {{Opcode: opT, NtoAtT: true, Ddir: -1}},
- "2dup!": {{Opcode: opT, NtoAtT: true}},
-
- // Words used to implement pick
- "up1": {{Opcode: opT, Ddir: 1}},
- "down1": {{Opcode: opT, Ddir: -1}},
- "copy": {{Opcode: opN}},
-
- // misc
- "swapdown": {{Opcode: opN, TtoN: true}, {Opcode: opT, Ddir: -1}},
-}
diff --git a/basewords_test.go b/basewords_test.go
deleted file mode 100644
index a1dd917..0000000
--- a/basewords_test.go
+++ /dev/null
@@ -1,15 +0,0 @@
-package j1
-
-import "testing"
-
-func TestBaseWords(t *testing.T) {
- for word, alu := range BaseWords {
- t.Run(word, func(t *testing.T) {
- buf := make([]uint16, len(alu))
- for i, ins := range alu {
- buf[i] = ins.Compile()
- }
- t.Logf("%4.0X", buf)
- })
- }
-}
diff --git a/eval.go b/eval.go
index 476f5d9..d4d6f90 100644
--- a/eval.go
+++ b/eval.go
@@ -113,7 +113,7 @@ func (j1 *J1) eval(ins Instruction) {
case 0xf000: // key
fmt.Fprintf(j1.console, "%c", n)
case 0xf002: // bye
- j1.rsp = 0
+ j1.Reset()
default:
j1.memory[j1.st0>>1] = n
}