public static IEnumerable <MemoryState> GetMemoryState(this IPlottyMachine machine, IDictionary <Reference, int> addressMap) { return(addressMap.Select((x, i) => { var value = machine.Memory[addressMap[x.Key]]; return new MemoryState(i, x.Key, value); })); }
public int GetValue(IPlottyMachine plottyMachine) { return(plottyMachine.Memory[GetAddress(plottyMachine)]); }
public abstract int GetAddress(IPlottyMachine plottyMachine);
public ArithmeticCommand(IPlottyMachine plottyMachine) : base(plottyMachine) { }
public MoveCommand(IPlottyMachine plottyMachine) : base(plottyMachine) { }
public override int GetValue(IPlottyMachine plottyMachine) { return(Immediate); }
public BranchCommand(IPlottyMachine plottyMachine) : base(plottyMachine) { }
public LoadCommand(IPlottyMachine plottyMachine) : base(plottyMachine) { }
public HaltCommand(IPlottyMachine plottyMachine) : base(plottyMachine) { }
public override int GetValue(IPlottyMachine plottyMachine) { return(plottyMachine.Registers[Register.Id]); }
public StoreCommand(IPlottyMachine plottyMachine) : base(plottyMachine) { }
public override int GetAddress(IPlottyMachine plottyMachine) { return(plottyMachine.Registers[BaseRegister.Id] + Offset.GetValue(plottyMachine)); }
public abstract int GetValue(IPlottyMachine plottyMachine);
public Command(IPlottyMachine plottyMachine) { PlottyMachine = plottyMachine; }
public NoCommand(IPlottyMachine plottyMachine) : base(plottyMachine) { }