Example #1
0
 public ArithmeticLogicUnit(IAddressRegister adr, IGeneralPurposeRegisters gpr, IInstructionPointerRegister ip, IReturnStack stack)
 {
     AddressRegister = adr;
     Registers       = gpr;
     IP          = ip;
     ReturnStack = stack;
 }
 private static PointToFontSpriteCommand CreateCommand(int operationCode = ValidOperationCode,
     IGeneralRegisters generalRegisters = null,
     IAddressRegister addressRegister = null)
 {
     return new PointToFontSpriteCommand(0, operationCode,
                                         generalRegisters ?? Substitute.For<IGeneralRegisters>(),
                                         addressRegister ?? Substitute.For<IAddressRegister>());
 }
        public PointToFontSpriteCommand(int address, int operationCode, IGeneralRegisters generalRegisters,
            IAddressRegister addressRegister)
            : base(address, operationCode, generalRegisters)
        {
            if (FirstOperationCodeHalfByte != 0xF || SecondOperationCodeByte != 0x29)
                throw new ArgumentOutOfRangeException("operationCode");
            if (generalRegisters == null)
                throw new ArgumentNullException("generalRegisters");
            if (addressRegister == null)
                throw new ArgumentNullException("addressRegister");

            _addressRegister = addressRegister;
        }
        public SaveMemoryCellValuesInGeneralRegistersCommand(int address, int operationCode,
            IGeneralRegisters generalRegisters,
            IAddressRegister addressRegister, IMemory memory)
            : base(address, operationCode, generalRegisters)
        {
            if (FirstOperationCodeHalfByte != 0xF || SecondOperationCodeByte != 0x65)
                throw new ArgumentOutOfRangeException("operationCode");
            if (addressRegister == null)
                throw new ArgumentNullException("addressRegister");
            if (memory == null)
                throw new ArgumentNullException("memory");

            _addressRegister = addressRegister;
            _memory = memory;
        }
        public DisplayCommandFactory(IGeneralRegisters generalRegisters, IAddressRegister addressRegister,
            IMemory memory, IDisplay display)
        {
            if (generalRegisters == null)
                throw new ArgumentNullException("generalRegisters");
            if (addressRegister == null)
                throw new ArgumentNullException("addressRegister");
            if (memory == null)
                throw new ArgumentNullException("memory");
            if (display == null)
                throw new ArgumentNullException("display");

            _generalRegisters = generalRegisters;
            _addressRegister = addressRegister;
            _memory = memory;
            _display = display;
        }
 private static SaveGeneralRegistersValuesInMemoryCommand CreateCommand(int operationCode = ValidOperationCode,
     IGeneralRegisters generalRegisters =
     null,
     IAddressRegister addressRegister = null,
     IMemory memory = null)
 {
     return new SaveGeneralRegistersValuesInMemoryCommand(0, operationCode,
                                                          generalRegisters ?? Substitute.For<IGeneralRegisters>(),
                                                          addressRegister ?? Substitute.For<IAddressRegister>(),
                                                          memory ?? Substitute.For<IMemory>());
 }
 private static DrawSpriteCommand CreateDrawSpriteCommand(int operationCode = 0xD000,
     IDisplay display = null,
     IGeneralRegisters generalRegisters = null,
     IAddressRegister addressRegister = null,
     IMemory memory = null)
 {
     return new DrawSpriteCommand(0, operationCode,
                                  display ?? Substitute.For<IDisplay>(),
                                  generalRegisters ?? Substitute.For<IGeneralRegisters>(),
                                  addressRegister ?? Substitute.For<IAddressRegister>(),
                                  memory ?? Substitute.For<IMemory>());
 }
 private AddValueToAddressRegisterCommand CreateCommand(int operationCode = 0xF01E,
     IGeneralRegisters generalRegisters = null,
     IAddressRegister addressRegister = null)
 {
     return new AddValueToAddressRegisterCommand(0, operationCode,
                                                 generalRegisters ?? Substitute.For<IGeneralRegisters>(),
                                                 addressRegister ?? Substitute.For<IAddressRegister>());
 }