Esempio n. 1
0
 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);
     }));
 }
Esempio n. 2
0
 public int GetValue(IPlottyMachine plottyMachine)
 {
     return(plottyMachine.Memory[GetAddress(plottyMachine)]);
 }
Esempio n. 3
0
 public abstract int GetAddress(IPlottyMachine plottyMachine);
Esempio n. 4
0
 public ArithmeticCommand(IPlottyMachine plottyMachine) : base(plottyMachine)
 {
 }
Esempio n. 5
0
 public MoveCommand(IPlottyMachine plottyMachine) : base(plottyMachine)
 {
 }
Esempio n. 6
0
 public override int GetValue(IPlottyMachine plottyMachine)
 {
     return(Immediate);
 }
Esempio n. 7
0
 public BranchCommand(IPlottyMachine plottyMachine) : base(plottyMachine)
 {
 }
Esempio n. 8
0
 public LoadCommand(IPlottyMachine plottyMachine) : base(plottyMachine)
 {
 }
Esempio n. 9
0
 public HaltCommand(IPlottyMachine plottyMachine) : base(plottyMachine)
 {
 }
Esempio n. 10
0
 public override int GetValue(IPlottyMachine plottyMachine)
 {
     return(plottyMachine.Registers[Register.Id]);
 }
Esempio n. 11
0
 public StoreCommand(IPlottyMachine plottyMachine) : base(plottyMachine)
 {
 }
Esempio n. 12
0
 public override int GetAddress(IPlottyMachine plottyMachine)
 {
     return(plottyMachine.Registers[BaseRegister.Id] + Offset.GetValue(plottyMachine));
 }
Esempio n. 13
0
 public abstract int GetValue(IPlottyMachine plottyMachine);
Esempio n. 14
0
 public Command(IPlottyMachine plottyMachine)
 {
     PlottyMachine = plottyMachine;
 }
Esempio n. 15
0
 public NoCommand(IPlottyMachine plottyMachine) : base(plottyMachine)
 {
 }