From 92d5026c72d72682dde7058a9bb875f5c7d300e9 Mon Sep 17 00:00:00 2001 From: otya128 Date: Wed, 7 Dec 2016 20:07:05 +0900 Subject: [PATCH] Implement local GOSUB expr --- SMILEBASIC/VM.d | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SMILEBASIC/VM.d b/SMILEBASIC/VM.d index cd717c2..5c49534 100644 --- a/SMILEBASIC/VM.d +++ b/SMILEBASIC/VM.d @@ -897,6 +897,11 @@ class GosubExpr : Code if(label.isString) { vm.pushpc;//vm.push(Value(vm.pc)); + if (sc && sc.func) + { + vm.pc = sc.func.label[label.castString] - 1; + return; + } vm.pc = vm.currentSlot.globalLabel[label.castString] - 1; } else