using System; using System.Collections.Generic; using System.Text; namespace SuperBASIC.Functions { class Goto : IFunction { public float Apply(List arguments) { // Substract its own arity +1 arguments[0].runtime.pc = (int)arguments[0] - 2; return arguments[0].runtime.register; } } class JumpZero : IFunction { public float Apply(List arguments) { if(arguments[0] == 0) // Substract its own arity +1 arguments[1].runtime.pc = (int)arguments[1] - 3; return arguments[0].runtime.register; } } }