aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2018-01-07 01:54:47 +0100
committerDimitri Sokolyuk <demon@dim13.org>2018-01-07 01:54:47 +0100
commita9191403be49cf6fed3127919dcba6f4cc4d9f0a (patch)
tree34e43d9b5bb8c5f73288e852017281bed8494009
parentb81612536dc397047b52563c4cbf2a60a9d9bb86 (diff)
...
-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