From 87d115da565618b2f2f1cbbdcca883bbc0c57e60 Mon Sep 17 00:00:00 2001 From: Mel Date: Thu, 2 Jun 2022 00:07:20 +0000 Subject: OpMod and OpSetLocal for prime test --- pkg/lang/vm/vm.go | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'pkg/lang/vm/vm.go') diff --git a/pkg/lang/vm/vm.go b/pkg/lang/vm/vm.go index 41334a6..e483176 100644 --- a/pkg/lang/vm/vm.go +++ b/pkg/lang/vm/vm.go @@ -125,6 +125,11 @@ func (vm *VM) step(op code.Op) (stepDecision, error) { vm.pc += advance err = vm.execGetLocal(int(offset)) + case code.OpSetLocal: + offset, advance := vm.code.GetInt(vm.pc) + vm.pc += advance + + err = vm.execSetLocal(int(offset)) case code.OpGetMember: name, advance := vm.code.GetString(vm.pc) vm.pc += advance @@ -159,6 +164,8 @@ func (vm *VM) step(op code.Op) (stepDecision, error) { err = vm.execAdd() case code.OpSub: err = vm.execSub() + case code.OpMod: + err = vm.execMod() case code.OpIndex: err = vm.execIndex() case code.OpLte: -- cgit 1.4.1