public void Apply(IProcessor processor)
 {
     processor.WriteMemory(
         _storeIndex,
         PerformOperation(processor.ReadMemory(_operand1), processor.ReadMemory(_operand2))
         );
     processor.AdjustOpPointer(4);
 }
示例#2
0
 public void Apply(IProcessor processor)
 {
     if (processor.ReadMemory(_operand1) == 0)
     {
         processor.SetOpPointer(processor.ReadMemory(_operand2));
     }
     else
     {
         processor.AdjustOpPointer(3);
     }
 }
示例#3
0
 public void Apply(IProcessor processor)
 {
     processor.Output = processor.ReadMemory(_index);
     processor.AdjustOpPointer(2);
 }
示例#4
0
 public void Apply(IProcessor processor)
 {
     processor.WriteMemory(_storeIndex, processor.ReadMemory(_operand1) == processor.ReadMemory(_operand2) ? 1 : 0);
     processor.AdjustOpPointer(4);
 }
示例#5
0
 public void Apply(IProcessor processor)
 {
     processor.AdjustRelativeBase(processor.ReadMemory(_relativeBaseOffset));
     processor.AdjustOpPointer(2);
 }
示例#6
0
 public void Apply(IProcessor processor)
 {
     processor.WriteMemory(_storeIndex, processor.Input);
     processor.AdjustOpPointer(2);
 }