public override void Exec(Processor processor) { if (!If.Passthrough) { processor.PC = If.EndIf.Address + 1; } else { Passthrough = true; if (Operater.Compare(Left.Get(processor), Right.Get(processor))) { // do nothing Passthrough = false; } else { // jump if (Else != null) { processor.PC = Else.Address; } else { processor.PC = EndIf.Address + 1; } } } }
public override void Exec(Processor processor) { if (Operater.Compare(Left.Evaluate(processor), Right.Evaluate(processor))) { // do nothing } else { // jump if (Else != null) { processor.PC = Else.Address + 1; } else { processor.PC = EndIf.Address + 1; } } }