From 1fea9a25a50b9f95a8168ce1767062b55349baaa Mon Sep 17 00:00:00 2001 From: sec65 Date: Sun, 5 Jun 2022 17:22:42 +0200 Subject: [PATCH] reset loop counter after last run --- src/core/operations/ConditionalJump.mjs | 4 ++++ src/core/operations/Jump.mjs | 1 + 2 files changed, 5 insertions(+) diff --git a/src/core/operations/ConditionalJump.mjs b/src/core/operations/ConditionalJump.mjs index ca8eea30..b0c65ddd 100644 --- a/src/core/operations/ConditionalJump.mjs +++ b/src/core/operations/ConditionalJump.mjs @@ -64,6 +64,7 @@ class ConditionalJump extends Operation { jmpIndex = getLabelIndex(label, state); if (state.numJumps >= maxJumps || jmpIndex === -1) { + state.numJumps = 0; return state; } @@ -74,6 +75,9 @@ class ConditionalJump extends Operation { state.progress = jmpIndex; state.numJumps++; } + else { + state.numJumps = 0; + } } return state; diff --git a/src/core/operations/Jump.mjs b/src/core/operations/Jump.mjs index f442faa0..26a2c922 100644 --- a/src/core/operations/Jump.mjs +++ b/src/core/operations/Jump.mjs @@ -52,6 +52,7 @@ class Jump extends Operation { const jmpIndex = getLabelIndex(label, state); if (state.numJumps >= maxJumps || jmpIndex === -1) { + state.numJumps = 0; return state; }