From f713dc900328db88e32ade374d932748153da328 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 4 Jun 2017 12:28:46 +0200 Subject: Test ALU --- eval.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'eval.go') diff --git a/eval.go b/eval.go index 50eb4be..3c2efda 100644 --- a/eval.go +++ b/eval.go @@ -70,7 +70,8 @@ func (vm *J1) eval(ins Instruction) { vm.rsp += 1 next = uint16(v) case ALU: - vm.st0 = vm.newST0(v) + vm.dsp = uint16(int8(vm.dsp) + v.Ddir) + vm.rsp = uint16(int8(vm.rsp) + v.Rdir) if v.NtoAtT { vm.memory[vm.st0] = vm.dstack[vm.dsp] } @@ -80,11 +81,10 @@ func (vm *J1) eval(ins Instruction) { if v.TtoN { vm.dstack[vm.dsp] = vm.st0 } - vm.dsp = uint16(int8(vm.dsp) + v.Ddir) - vm.rsp = uint16(int8(vm.rsp) + v.Rdir) if v.RtoPC { next = vm.rstack[vm.rsp] } + vm.st0 = vm.newST0(v) } vm.pc = next fmt.Println(ins) -- cgit v1.2.3