aboutsummaryrefslogtreecommitdiff
path: root/eval.go
diff options
context:
space:
mode:
Diffstat (limited to 'eval.go')
-rw-r--r--eval.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/eval.go b/eval.go
index 2b41f6e..476f5d9 100644
--- a/eval.go
+++ b/eval.go
@@ -130,6 +130,12 @@ func bool2int(b bool) uint16 {
}
func (j1 *J1) newST0(opcode uint16) uint16 {
+ if j1.dsp < 0 {
+ j1.dsp = 0
+ }
+ if j1.rsp < 0 {
+ j1.rsp = 0
+ }
T, N, R := j1.st0, j1.dstack[j1.dsp], j1.rstack[j1.rsp]
switch opcode {
case opT: // T