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) { var duration = Duration.Get(processor); if (duration > 0) { processor.GamePad.ClickButtons(Key, duration); Thread.Sleep(duration); } }
protected override void Init(Processor processor) { processor.Register[RegIter] = InitVal.Get(processor); processor.LoopCount[this] = Count.Get(processor); }
public override void Exec(Processor processor) { Thread.Sleep(Duration.Get(processor)); }
public override void Exec(Processor processor) { processor.Register[RegDst] = MetaInfo.Function(processor.Register[RegDst], Value.Get(processor)); }
public override void Exec(Processor processor) { processor.Register[RegDst] = Value.Get(processor); }