Example #1
0
 public RegistersPPU()
 {
     PpuCtrl = new ControlRegister(0);
     PpuMask = new MaskRegister(0);
     PpuStat = new StatusRegister(0);
     PpuScrl = new ScrollRegister(0);
 }
 internal Ak8975Registers(IRegisterManagerAdapter adapter) : base(adapter, true)
 {
     wia = new WiaRegister(this);
     _registers.Add(wia);
     info = new InfoRegister(this);
     _registers.Add(info);
     status1 = new Status1Register(this);
     _registers.Add(status1);
     hx = new HxRegister(this);
     _registers.Add(hx);
     hy = new HyRegister(this);
     _registers.Add(hy);
     hz = new HzRegister(this);
     _registers.Add(hz);
     status2 = new Status2Register(this);
     _registers.Add(status2);
     control = new ControlRegister(this);
     _registers.Add(control);
     sensitivityX = new SensitivityXRegister(this);
     _registers.Add(sensitivityX);
     sensitivityY = new SensitivityYRegister(this);
     _registers.Add(sensitivityY);
     sensitivityZ = new SensitivityZRegister(this);
     _registers.Add(sensitivityZ);
 }
Example #3
0
        public CPUx86()
        {
            EIP    = new Register32Bit("EIP", 0, RegisterType.InstructionPointer, false);
            EFLAGS = new FlagsRegister();

            EAX = new GeneralPurposeRegister("EAX", 0);
            EBX = new GeneralPurposeRegister("EBX", 1);
            ECX = new GeneralPurposeRegister("ECX", 2);
            EDX = new GeneralPurposeRegister("EDX", 3);
            ESP = new GeneralPurposeRegister("ESP", 4);
            EBP = new GeneralPurposeRegister("EBP", 5);
            ESI = new GeneralPurposeRegister("ESI", 6);
            EDI = new GeneralPurposeRegister("EDI", 7);

            CR0 = new CR0();
            CR2 = new ControlRegister("CR2", 2);
            CR3 = new ControlRegister("CR3", 3);
            CR4 = new ControlRegister("CR3", 4);

            AX = new Legacy16BitRegister("AX", EAX);
            BX = new Legacy16BitRegister("BX", EBX);
            CX = new Legacy16BitRegister("CX", ECX);
            DX = new Legacy16BitRegister("DX", EDX);
            SI = new Legacy16BitRegister("SI", ESI);
            DI = new Legacy16BitRegister("DI", EDI);
            BP = new Legacy16BitRegister("BP", EBP);

            AL = new Legacy8BitLowRegister("AL", EAX);
            BL = new Legacy8BitLowRegister("BL", EBX);
            CL = new Legacy8BitLowRegister("CL", ECX);
            DL = new Legacy8BitLowRegister("DL", EDX);

            AH = new Legacy8BitHighRegister("AH", EAX);
            BH = new Legacy8BitHighRegister("BH", EBX);
            CH = new Legacy8BitHighRegister("CH", ECX);
            DH = new Legacy8BitHighRegister("DH", EDX);

            XMM0 = new RegisterFloatingPoint("XMM0", 0, RegisterType.FloatingPoint);
            XMM1 = new RegisterFloatingPoint("XMM1", 1, RegisterType.FloatingPoint);
            XMM2 = new RegisterFloatingPoint("XMM2", 2, RegisterType.FloatingPoint);
            XMM3 = new RegisterFloatingPoint("XMM3", 3, RegisterType.FloatingPoint);
            XMM4 = new RegisterFloatingPoint("XMM4", 4, RegisterType.FloatingPoint);
            XMM5 = new RegisterFloatingPoint("XMM5", 5, RegisterType.FloatingPoint);
            XMM6 = new RegisterFloatingPoint("XMM6", 6, RegisterType.FloatingPoint);
            XMM7 = new RegisterFloatingPoint("XMM7", 7, RegisterType.FloatingPoint);

            ST0 = new RegisterFloatingPoint("ST0", -1, RegisterType.FloatingPoint);

            CS = new SegmentRegister("CS", 0);
            DS = new SegmentRegister("DS", 1);
            ES = new SegmentRegister("ES", 2);
            FS = new SegmentRegister("FS", 3);
            GS = new SegmentRegister("GS", 4);
            SS = new SegmentRegister("SS", 5);

            Reset();
        }
Example #4
0
        public CPUx86()
        {
            EIP = new Register32Bit("EIP", 0, RegisterType.InstructionPointer, false);
            EFLAGS = new FlagsRegister();

            EAX = new GeneralPurposeRegister("EAX", 0);
            EBX = new GeneralPurposeRegister("EBX", 1);
            ECX = new GeneralPurposeRegister("ECX", 2);
            EDX = new GeneralPurposeRegister("EDX", 3);
            ESP = new GeneralPurposeRegister("ESP", 4);
            EBP = new GeneralPurposeRegister("EBP", 5);
            ESI = new GeneralPurposeRegister("ESI", 6);
            EDI = new GeneralPurposeRegister("EDI", 7);

            CR0 = new CR0();
            CR2 = new ControlRegister("CR2", 2);
            CR3 = new ControlRegister("CR3", 3);
            CR4 = new ControlRegister("CR3", 4);

            AX = new Legacy16BitRegister("AX", EAX);
            BX = new Legacy16BitRegister("BX", EBX);
            CX = new Legacy16BitRegister("CX", ECX);
            DX = new Legacy16BitRegister("DX", EDX);
            SI = new Legacy16BitRegister("SI", ESI);
            DI = new Legacy16BitRegister("DI", EDI);
            BP = new Legacy16BitRegister("BP", EBP);

            AL = new Legacy8BitLowRegister("AL", EAX);
            BL = new Legacy8BitLowRegister("BL", EBX);
            CL = new Legacy8BitLowRegister("CL", ECX);
            DL = new Legacy8BitLowRegister("DL", EDX);

            AH = new Legacy8BitHighRegister("AH", EAX);
            BH = new Legacy8BitHighRegister("BH", EBX);
            CH = new Legacy8BitHighRegister("CH", ECX);
            DH = new Legacy8BitHighRegister("DH", EDX);

            XMM0 = new RegisterFloatingPoint("XMM0", 0, RegisterType.FloatingPoint);
            XMM1 = new RegisterFloatingPoint("XMM1", 1, RegisterType.FloatingPoint);
            XMM2 = new RegisterFloatingPoint("XMM2", 2, RegisterType.FloatingPoint);
            XMM3 = new RegisterFloatingPoint("XMM3", 3, RegisterType.FloatingPoint);
            XMM4 = new RegisterFloatingPoint("XMM4", 4, RegisterType.FloatingPoint);
            XMM5 = new RegisterFloatingPoint("XMM5", 5, RegisterType.FloatingPoint);
            XMM6 = new RegisterFloatingPoint("XMM6", 6, RegisterType.FloatingPoint);
            XMM7 = new RegisterFloatingPoint("XMM7", 7, RegisterType.FloatingPoint);

            ST0 = new RegisterFloatingPoint("ST0", -1, RegisterType.FloatingPoint);

            CS = new SegmentRegister("CS", 0);
            DS = new SegmentRegister("DS", 1);
            ES = new SegmentRegister("ES", 2);
            FS = new SegmentRegister("FS", 3);
            GS = new SegmentRegister("GS", 4);
            SS = new SegmentRegister("SS", 5);

            Reset();
        }
Example #5
0
 public ES1370(PCIDevice device) : base(device)
 {
     isr = (InterruptStatusRegister.Load(getMemReference()));
     sir = (SerialInterfaceRegister.Load(getMemReference()));
     uir = (UARTInterfaceRegister.Load(getMemReference()));
     cr  = (ControlRegister.Load(getMemReference()));
     //dacs.Add(new AK(new DACak4531(), cr.DAC1Enabled,(byte)MainRegister.Bit.SerialIntContr,MainRegister.Bit.Dac1FrameAddr, (byte)MainRegister.Bit.Dac1FrameSize));
     //dacs.Add(new DACManager(new DACak4531(), cr.DAC2Enabled, (byte)MainRegister.Bit.SerialIntContr, (byte)MainRegister.Bit.Dac2FrameAddr, (byte)MainRegister.Bit.Dac2FrameSize));
 }
 internal Tsl2561Registers(IRegisterManagerAdapter adapter) : base(adapter, true)
 {
     control = new ControlRegister(this);
     _registers.Add(control);
     timing = new TimingRegister(this);
     _registers.Add(timing);
     interruptThresholdLow = new InterruptThresholdLowRegister(this);
     _registers.Add(interruptThresholdLow);
     interruptThresholdHigh = new InterruptThresholdHighRegister(this);
     _registers.Add(interruptThresholdHigh);
     interruptControl = new InterruptControlRegister(this);
     _registers.Add(interruptControl);
     id = new IdRegister(this);
     _registers.Add(id);
     data0 = new Data0Register(this);
     _registers.Add(data0);
     data1 = new Data1Register(this);
     _registers.Add(data1);
 }
Example #7
0
        public void ControlRegisterTest()
        {
            var state = new FixtureState
            {
                pc = 0x77
            };

            var cr = new ControlRegister(state);

            Assert.AreEqual(0x77, cr.Recoil());
            cr.Branch(0x95);
            Assert.AreEqual(0x95, cr.Recoil());
            Assert.AreEqual(0x77, cr.Recoil());
            cr.Branch(0x95);
            cr.Branch(0x145);
            cr.Branch(0x175);
            Assert.AreEqual(0x77, cr.Recoil(3));
            cr.Branch(0x95);
            cr.Branch(0x145);
            cr.Branch(0x175);
            Assert.AreEqual(0x95, cr.Recoil(2));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetControlRegisterBase"/> class.
 /// </summary>
 /// <param name="control">The control.</param>
 protected GetControlRegisterBase(ControlRegister control)
 {
     _control = control;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="GetControlRegisterBase"/> class.
 /// </summary>
 /// <param name="control">The control.</param>
 protected GetControlRegisterBase(ControlRegister control)
 {
     _control = control;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SetControlRegisterBase"/> class.
 /// </summary>
 /// <param name="control">The control.</param>
 protected SetControlRegisterBase(ControlRegister control)
 {
     this.control = control;
 }
Example #11
0
 public void Reset()
 {
     ReloadValue = 0;
     Control     = new ControlRegister();
     CoreTimer.Reset();
 }
Example #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SetControlRegisterBase"/> class.
 /// </summary>
 /// <param name="control">The control.</param>
 protected SetControlRegisterBase(ControlRegister control)
 {
     this.control = control;
 }
Example #13
0
 public void Reset()
 {
     ReloadValue = 0;
     Control = new ControlRegister();
     CoreTimer.Reset();
 }