aboutsummaryrefslogtreecommitdiff
path: root/eval.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-06-09 13:56:45 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-06-09 13:56:45 +0200
commitd1153e4963d90faf74ff6cf93599cda10a15064d (patch)
treedd5faf7d51c55c92de6f6859b40b377d28c77822 /eval.go
parenta52193cb8bd9f5174ca50a6823290befbb1c01f8 (diff)
...
Diffstat (limited to 'eval.go')
-rw-r--r--eval.go11
1 files changed, 3 insertions, 8 deletions
diff --git a/eval.go b/eval.go
index 2af8fd3..bedcf40 100644
--- a/eval.go
+++ b/eval.go
@@ -61,11 +61,6 @@ func (vm *J1) Eval() {
}
}
-var (
- opT = ALU{Opcode: 0}
- opN = ALU{Opcode: 1}
-)
-
func (vm *J1) eval(ins Instruction) {
dsp := vm.dsp
pc := vm.pc + 1
@@ -78,15 +73,15 @@ func (vm *J1) eval(ins Instruction) {
dsp = vm.dsp + 1
vm.dstack[dsp] = vm.st0
case Jump:
- st0 = vm.newST0(opT)
+ st0 = vm.st0 // T
pc = uint16(v)
case Call:
- st0 = vm.newST0(opT)
+ st0 = vm.st0 // T
rsp = vm.rsp + 1
vm.rstack[rsp] = pc
pc = uint16(v)
case Cond:
- st0 = vm.newST0(opN)
+ st0 = vm.dstack[vm.dsp] // N
dsp = vm.dsp - 1
if vm.st0 == 0 {
pc = uint16(v)