public void PIC16arch_WrongPICMode() { var picModel = PICProcessorModel.GetModel("PICUnknown"); Assert.IsNull(picModel); picModel = PICProcessorModel.GetModel(""); Assert.IsNotNull(picModel); Assert.AreEqual(PICProcessorModel.DefaultPICName, picModel.PICName); }
public void PIC16MemoryMapper_EnhancedV1Tests() { PICProcessorModel.GetModel(PIC16FullFeaturedName).CreateMemoryDescriptor(); Assert.AreEqual(PICExecMode.Traditional, PICMemoryDescriptor.ExecMode); Assert.AreEqual(InstructionSetID.PIC16_FULLFEATURED, PICMemoryDescriptor.InstructionSetID); CheckProgMap(); CheckDataMap(); }
public void PIC16MemoryMapper_TraditionalTests() { PICProcessorModel.GetModel(PIC16BasicName).CreateMemoryDescriptor(); Assert.AreEqual(PICExecMode.Traditional, PICMemoryDescriptor.ExecMode); Assert.AreEqual(InstructionSetID.PIC16, PICMemoryDescriptor.InstructionSetID); CheckProgMap(); CheckDataMap(); }
public void PIC16arch_GetEnhancedCoreRegisterTests() { PICProcessorModel.GetModel(PIC16EnhancedName).CreateRegisters(); Assert.AreSame(PICRegisters.WREG, PICRegisters.GetRegister("WREG")); Assert.AreSame(PICRegisters.STATUS, PICRegisters.GetRegister("STATUS")); Assert.AreSame(PICRegisters.PCL, PICRegisters.GetRegister("PCL")); Assert.AreSame(PICRegisters.BSR, PICRegisters.GetRegister("BSR")); Assert.AreSame(PIC16EnhancedRegisters.INDF0, PICRegisters.GetRegister("INDF0")); }
public void PIC16arch_GetBasicCoreRegisterTests() { PICProcessorModel.GetModel(PIC16BasicName).CreateRegisters(); Assert.AreSame(PICRegisters.WREG, PICRegisters.GetRegister("WREG")); Assert.AreSame(PICRegisters.STATUS, PICRegisters.GetRegister("STATUS")); Assert.AreSame(PICRegisters.PCL, PICRegisters.GetRegister("PCL")); Assert.AreSame(PIC16BasicRegisters.INDF, PICRegisters.GetRegister("INDF")); Assert.AreSame(PIC16BasicRegisters.RP0, PICRegisters.GetBitField("RP0")); Assert.AreSame(PIC16BasicRegisters.RP1, PICRegisters.GetBitField("RP1")); }
public void PIC16arch_FailGetRegisterFromNameTests() { PICProcessorModel.GetModel(PIC16BasicName).CreateRegisters(); Assert.Throws <ArgumentException>(() => PICRegisters.GetRegister("invalidregistername")); PICProcessorModel.GetModel(PIC16EnhancedName).CreateRegisters(); Assert.Throws <ArgumentException>(() => PICRegisters.GetRegister("invalidregistername")); PICProcessorModel.GetModel(PIC16FullFeaturedName).CreateRegisters(); Assert.Throws <ArgumentException>(() => PICRegisters.GetRegister("invalidregistername")); }
public void PIC16arch_FailGetRegisterFromNameTests() { PICProcessorModel.GetModel(PIC16BasicName).CreateRegisters(); Assert.IsNull(PICRegisters.GetRegister("invalidregistername")); PICProcessorModel.GetModel(PIC16EnhancedName).CreateRegisters(); Assert.IsNull(PICRegisters.GetRegister("invalidregistername")); PICProcessorModel.GetModel(PIC16FullFeaturedName).CreateRegisters(); Assert.IsNull(PICRegisters.GetRegister("invalidregistername")); }
public void PIC18EnhdMemoryMapper_TraditionalTests() { PICProcessorModel.GetModel(PIC18EnhancedName).CreateMemoryDescriptor(); Assert.AreEqual(PICExecMode.Traditional, PICMemoryDescriptor.ExecMode); Assert.AreEqual(InstructionSetID.PIC18_ENHANCED, PICMemoryDescriptor.InstructionSetID); CheckProgMap(); CheckDataMap(); Assert.IsNotNull(PICMemoryDescriptor.GetDataRegionByName("accessram"), "Missing 'accessram' data memory region for PIC18."); Assert.IsNotNull(PICMemoryDescriptor.GetDataRegionByName("accesssfr"), "Missing 'accesssfr' data memory region for PIC18."); Assert.IsNull(PICMemoryDescriptor.GetDataRegionByName("gpre"), "Unexpected 'gpre' data memory region for PIC18 traditional."); }
public void PIC18ExtdMemoryMapper_ExtendedTests() { PICProcessorModel.GetModel(PIC18EggName).CreateMemoryDescriptor(); PICMemoryDescriptor.ExecMode = PICExecMode.Extended; Assert.AreEqual(PICExecMode.Extended, PICMemoryDescriptor.ExecMode); Assert.AreEqual(InstructionSetID.PIC18_EXTENDED, PICMemoryDescriptor.InstructionSetID); CheckProgMap(); CheckDataMap(); Assert.IsNotNull(PICMemoryDescriptor.GetDataRegionByName("gpre"), "Missing 'gpre' data memory region for PIC18."); Assert.IsNotNull(PICMemoryDescriptor.GetDataRegionByName("accesssfr"), "Missing 'accesssfr' data memory region for PIC18."); }
public void PIC16arch_GetBasicRegisterFromNameTests() { PICProcessorModel.GetModel(PIC16BasicName).CreateRegisters(); Assert.AreEqual("STATUS", PICRegisters.GetRegister("STATUS").Name); Assert.AreEqual("FSR", PICRegisters.GetRegister("FSR").Name); Assert.AreEqual("INDF", PICRegisters.GetRegister("INDF").Name); Assert.AreEqual("INTCON", PICRegisters.GetRegister("INTCON").Name); Assert.AreEqual("WREG", PICRegisters.GetRegister("WREG").Name); Assert.AreEqual("PCL", PICRegisters.GetRegister("PCL").Name); Assert.AreEqual("PCLATH", PICRegisters.GetRegister("PCLATH").Name); Assert.AreEqual("RP", PICRegisters.GetBitField("RP").Name); }
public void PIC16Registers_Full_All_Tests() { foreach (var pic in GetSelectedPIC(InstructionSetID.PIC16_FULLFEATURED)) { try { PICProcessorModel.GetModel(pic.PICName).CreateRegisters(); Assert.IsNotNull(PICRegisters.STATUS, $"Null status register for '{pic.PICName}'"); Assert.IsNotNull(PICRegisters.BSR, $"Null status register for '{pic.PICName}'"); } catch (Exception ex) { throw new InvalidOperationException($"'{pic.PICName}': wrong registers creation.", ex); } } }
public void PIC16arch_GetFullFeaturedRegisterFromNameTests() { PICProcessorModel.GetModel(PIC16FullFeaturedName).CreateRegisters(); Assert.AreEqual("STATUS", PICRegisters.GetRegister("STATUS").Name); Assert.AreEqual("FSR1L", PICRegisters.GetRegister("FSR1L").Name); Assert.AreEqual("FSR1H", PICRegisters.GetRegister("FSR1H").Name); Assert.AreEqual("FSR0L", PICRegisters.GetRegister("FSR0L").Name); Assert.AreEqual("FSR0H", PICRegisters.GetRegister("FSR0H").Name); Assert.AreEqual("FSR0", PICRegisters.GetRegister("FSR0").Name); Assert.AreEqual("FSR1", PICRegisters.GetRegister("FSR1").Name); Assert.AreEqual("INDF0", PICRegisters.GetRegister("INDF0").Name); Assert.AreEqual("INDF1", PICRegisters.GetRegister("INDF1").Name); Assert.AreEqual("BSR", PICRegisters.GetRegister("BSR").Name); Assert.AreEqual("WREG", PICRegisters.GetRegister("WREG").Name); Assert.AreEqual("PCL", PICRegisters.GetRegister("PCL").Name); Assert.AreEqual("PCLATH", PICRegisters.GetRegister("PCLATH").Name); }
public void PIC16arch_CheckEnhancedPICFromDBTests() { var picModel = PICProcessorModel.GetModel(PIC16EnhancedName); Assert.NotNull(picModel); Assert.NotNull(picModel.PICDescriptor); var pic = picModel.PICDescriptor; Assert.AreEqual(InstructionSetID.PIC16_ENHANCED, pic.GetInstructionSetID); Assert.AreEqual(PIC16EnhancedName, pic.PICName); var arch = GetArch(PIC16EnhancedName); Assert.NotNull(arch.PICDescriptor); Assert.AreEqual(picModel.PICDescriptor, arch.PICDescriptor); Assert.IsTrue(PICMemoryDescriptor.IsValid); }
public void PIC16DevConf_Tests() { PICProcessorModel.GetModel(PIC16BasicName).CreateMemoryDescriptor(); var dcr = PICMemoryDescriptor.GetDCR("CONFIG"); Assert.IsNotNull(dcr); Assert.AreEqual(Address.Ptr32(0x2007), dcr.Address); var s = PICMemoryDescriptor.RenderDeviceConfigRegister(dcr, 0xFFFF); Assert.AreEqual("FOSC=EXTRC, WDTE=ON, PWRTE=OFF, CP=OFF", s); var dcf = PICMemoryDescriptor.GetDCRField("WDTE"); Assert.AreEqual("WDTE", dcf.Name); Assert.IsNotNull(dcf); Assert.AreSame(dcr.Address, dcf.RegAddress); }
public void PIC16EnhDevConf_Tests() { PICProcessorModel.GetModel(PIC16EnhancedName).CreateMemoryDescriptor(); var dcr = PICMemoryDescriptor.GetDCR("CONFIG1"); Assert.IsNotNull(dcr); Assert.AreEqual(Address.Ptr32(0x8007), dcr.Address); var s = PICMemoryDescriptor.RenderDeviceConfigRegister(dcr, 0xFFFF); Assert.AreEqual("FOSC=ECH, WDTE=ON, PWRTE=OFF, MCLRE=ON, CP=OFF, BOREN=ON, CLKOUTEN=OFF, IESO=ON, FCMEN=ON", s); var dcf = PICMemoryDescriptor.GetDCRField("WDTE"); Assert.AreEqual("WDTE", dcf.Name); Assert.IsNotNull(dcf); Assert.AreSame(dcr.Address, dcf.RegAddress); }
public void PIC16FullDevConf_Tests() { PICProcessorModel.GetModel(PIC16FullFeaturedName).CreateMemoryDescriptor(); var dcr = PICMemoryDescriptor.GetDCR("CONFIG4"); Assert.IsNotNull(dcr); Assert.AreEqual(Address.Ptr32(0x800A), dcr.Address); var s = PICMemoryDescriptor.RenderDeviceConfigRegister(dcr, 0xFFFF); Assert.AreEqual("BBSIZE=BB512, BBEN=OFF, SAFEN=OFF, WRTAPP=OFF, WRTB=OFF, WRTC=OFF, WRTSAF=OFF, LVP=ON", s); var dcf = PICMemoryDescriptor.GetDCRField("WDTE"); Assert.IsNotNull(dcf); Assert.AreEqual("WDTE", dcf.Name); Assert.AreEqual(Address.Ptr32(0x8009), dcf.RegAddress); Assert.AreEqual(5, dcf.BitPos); Assert.AreEqual(2, dcf.BitWidth); }
public void PIC18EggDevConf_Tests() { PICProcessorModel.GetModel(PIC18EggName).CreateMemoryDescriptor(); var dcr = PICMemoryDescriptor.GetDCR("CONFIG2L"); Assert.IsNotNull(dcr); Assert.AreEqual(Address.Ptr32(0x300002), dcr.Address); var s = PICMemoryDescriptor.RenderDeviceConfigRegister(dcr, 0xFF); Assert.AreEqual("PWRT=OFF, BOR=BOHW, BORV=3", s); var dcf = PICMemoryDescriptor.GetDCRField("WDT"); Assert.IsNotNull(dcf); Assert.AreEqual("WDT", dcf.Name); Assert.AreEqual(Address.Ptr32(0x300003), dcf.RegAddress); Assert.AreEqual(0, dcf.BitPos); Assert.AreEqual(1, dcf.BitWidth); dcf = PICMemoryDescriptor.GetDCRField("XINST"); Assert.IsNotNull(dcf); }
public void PIC18EnhdDevConf_Tests() { PICProcessorModel.GetModel(PIC18EnhancedName).CreateMemoryDescriptor(); var dcr = PICMemoryDescriptor.GetDCR("CONFIG2L"); Assert.IsNotNull(dcr); Assert.AreEqual(Address.Ptr32(0x300002), dcr.Address); var s = PICMemoryDescriptor.RenderDeviceConfigRegister(dcr, 0xFF); Assert.AreEqual("MCLRE=EXTMCLR, PWRTS=PWRT_OFF, MVECEN=ON, IVT1WAY=ON, LPBOREN=OFF, BOREN=SBORDIS", s); var dcf = PICMemoryDescriptor.GetDCRField("WDTE"); Assert.IsNotNull(dcf); Assert.AreEqual("WDTE", dcf.Name); Assert.AreEqual(Address.Ptr32(0x300004), dcf.RegAddress); Assert.AreEqual(5, dcf.BitPos); Assert.AreEqual(2, dcf.BitWidth); dcf = PICMemoryDescriptor.GetDCRField("XINST"); Assert.IsNotNull(dcf); }
public void PIC18DevConf_Tests() { PICProcessorModel.GetModel(PIC18LegacyName).CreateMemoryDescriptor(); var dcr = PICMemoryDescriptor.GetDCR("CONFIG1H"); Assert.IsNotNull(dcr); Assert.AreEqual(Address.Ptr32(0x300001), dcr.Address); var s = PICMemoryDescriptor.RenderDeviceConfigRegister(dcr, 0xFF); Assert.AreEqual("OSC=RC, FSCM=ON, IESO=ON", s); var dcf = PICMemoryDescriptor.GetDCRField("WDT"); Assert.IsNotNull(dcf); Assert.AreEqual("WDT", dcf.Name); Assert.AreEqual(Address.Ptr32(0x300003), dcf.RegAddress); Assert.AreEqual(0, dcf.BitPos); Assert.AreEqual(1, dcf.BitWidth); dcf = PICMemoryDescriptor.GetDCRField("XINST"); Assert.IsNull(dcf); }
public void PIC18arch_CheckArchEggFromDBTests() { var picModel = PICProcessorModel.GetModel(PIC18EggName); Assert.NotNull(picModel); Assert.NotNull(picModel.PICDescriptor); var pic = picModel.PICDescriptor; Assert.AreEqual(InstructionSetID.PIC18_EXTENDED, pic.GetInstructionSetID); Assert.AreEqual(PIC18EggName, pic.PICName); var arch = GetArch(PIC18EggName); Assert.NotNull(arch.PICDescriptor); Assert.AreEqual(picModel.PICDescriptor, arch.PICDescriptor); Assert.IsTrue(PICMemoryDescriptor.IsValid); Assert.AreEqual(PICExecMode.Traditional, PICMemoryDescriptor.ExecMode); PICMemoryDescriptor.ExecMode = PICExecMode.Extended; Assert.AreEqual(PICExecMode.Extended, PICMemoryDescriptor.ExecMode); Assert.NotNull(arch.PICDescriptor); Assert.IsTrue(PICMemoryDescriptor.IsValid); }
/// <summary> /// Default constructor. /// </summary> public PIC16Basic_RegistersTests() { PICProcessorModel.GetModel(PIC16BasicName).CreateRegisters(); }
/// <summary> /// Default constructor. /// </summary> public PIC16Full_RegistersTests() { PICProcessorModel.GetModel(PIC16FullFeaturedName).CreateRegisters(); }
/// <summary> /// Default constructor. /// </summary> public PIC16Enh_RegistersTests() { PICProcessorModel.GetModel(PIC16EnhancedName).CreateRegisters(); }