Esempio n. 1
0
 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;
             }
         }
     }
 }
Esempio n. 2
0
 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;
         }
     }
 }