public void Setup() { _byteFactory = TestUtils.CreateByteFactory(); _fullByte = _byteFactory.Create(255); Instruction = _byteFactory.Create(0); Flags = new Caez(); var cpuPinStates = new CpuPinStates(TestUtils.CreateClock(), TestUtils.CreateStepper(), Instruction, Flags, TestUtils.CreateAnd(), TestUtils.CreateOr(), TestUtils.CreateNot(), TestUtils.CreateDecoder(), _byteFactory); var bus = new Bus <IByte>(new BusMessage <IByte> { Data = new Byte(), Name = "Bus" }); var ioBus = new Bus <IByte>(new BusMessage <IByte> { Data = new Byte(), Name = "IoBus" }); var byteRegisterFactory = TestUtils.CreateByteRegisterFactory(); var ram = TestUtils.CreateRam(bus); var computerState = new ComputerState(byteRegisterFactory, ram, TestUtils.CreateBus1Factory(), new ArithmeticLogicUnitFactory(), TestUtils.CreateCaezRegisterFactory(), new BitRegisterFactory(TestUtils.CreateMemoryGateFactory()), bus, ioBus); _sut = new Computer(cpuPinStates, computerState); }
public void Setup() { _clock = TestUtils.CreateClock(); _stepper = TestUtils.CreateStepper(); Instruction = new Byte(); Caez = new Caez(); _sut = new CpuPinStates(_clock, _stepper, Instruction, Caez, new And(), TestUtils.CreateOr(), TestUtils.CreateNot(), TestUtils.CreateDecoder(), TestUtils.CreateByteFactory()); }
public Caez Apply(Caez input, bool set) { return(new Caez { C = _and.Apply(input.C, set), A = _and.Apply(input.A, set), E = _and.Apply(input.E, set), Z = _and.Apply(input.Z, set) }); }
public Caez Apply(Caez input, bool set) { var newState = new bool[4]; var listCaez = input.ToList(); for (var i = 0; i < listCaez.Count; i++) { newState[i] = _memoryGates[i].Apply(listCaez[i], set); } return(new Caez { C = newState[0], A = newState[1], E = newState[2], Z = newState[3] }); }
public CpuPinStates( IClock clock, IStepper stepper, IByte instruction, Caez caez, IAnd and, IOr or, INot not, IDecoder decoder, IByteFactory byteFactory) { _clock = clock; _stepper = stepper; _instruction = instruction; _caez = caez; _and = and; _or = or; _not = not; _decoder = decoder; _byteFactory = byteFactory; }
public PinStates Step(IByte instruction, Caez flags) { _instruction = instruction; _caez = flags; return(Step()); }