public void Print() { Console.WriteLine("Program Memory:"); ProgramMemory.Print(true); Console.WriteLine("Data Memory:"); DataMemory.Print(); }
private MappedMemoryUnit BuildMappedMemUnit(uint[] data, uint startAddr) { DataMemory dataMem = new DataMemory(data); MappedMemoryUnit mappedMem = new MappedMemoryUnit(dataMem, startAddr); return(mappedMem); }
public void MemoryAccess() { _controlUnit.SetPcSrc(ExMem.ZeroFlag); if (ExMem.MemRead) { if (!DataMemory.ContainsKey((uint)ExMem.Result)) { DataMemory[(uint)ExMem.Result] = "99"; } MemWb.ReadData = int.Parse(DataMemory[(uint)ExMem.Result]); } if (ExMem.MemWrite) { DataMemory[(uint)ExMem.Result] = ExMem.ReadData2.ToString(); } // Write back Stage control lines MemWb.RegWrite = ExMem.RegWrite; MemWb.MemToReg = ExMem.MemToReg; MemWb.Result = ExMem.Result; MemWb.RegDest = ExMem.RegDest; }
private void ConstructData() { m_data = new DataMemory[vmConstants.MEMORY_CAPACITY]; for (int idx = 0; idx < m_data.Length; idx++) { m_data[idx] = new DataMemory(idx); } }
public void SetInstruction_ValidIndex() { target = new DataMemory(8) { [4] = 5 }; Assert.AreEqual(5, target[4]); }
protected void Application_Start() { log4net.Config.XmlConfigurator.Configure(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ConfigInfo.GetConfig(); DataMemory.LoadDbMem(); }
//[Ignore("TEST NOT YET NEEDED")] public void TestInitInstructionMemory() { uint[] instructions = new uint[] { 0x201d0f3c, 0x3c08ffff, 0x3508ffff, 0x2009ffff, 0x1509001b, 0x00084600, 0x3508f000, 0x00084203, 0x00084102, 0x340a0003, 0x01495022, 0x01484004, 0x010a582a, 0x010a582b, 0x20080005, 0x2d0b000a, 0x2d0b0004, 0x2008fffb, 0x2d0b0005, 0x3c0b1010, 0x356b1010, 0x3c0c0101, 0x218c1010, 0x016c6824, 0x016c6825, 0x016c6826, 0x016c6827, 0x8c040004, 0x20840002, 0x2484fffe, 0x0c000021, 0xac020000, 0x08000020, 0x23bdfff8, 0xafbf0004, 0xafa40000, 0x28880002, 0x11000002, 0x00041020, 0x0800002e, 0x2084ffff, 0x0c000021, 0x8fa40000, 0x00441020, 0x00441020, 0x2042ffff, 0x8fbf0004, 0x23bd0008, 0x03e00008 }; InstructionFactory instrFact = new InstructionFactory(); Instruction[] instrs = new Instruction[instructions.Length]; int i = 0; foreach (uint instr in instructions) { instrs[i] = instrFact.CreateInstruction(instr); i++; } target = new InstructionMemory(instrs); uint pc = 0; var dataMem = new DataMemory(10000); var map = new MappedMemoryUnit(dataMem, 0); var unitList = new List <MappedMemoryUnit> { map }; var dataMemory = new MemoryMapper(unitList); var registers = new Registers(); int icount = 0; uint a = 99; dataMemory[4] = a; while (pc < instructions.Length * 4 && icount < 1000000) { //Console.WriteLine($"{pc:X8}: {target[pc]}"); target.GetInstruction(pc).Execute(ref pc, dataMemory, registers); icount++; } Console.WriteLine(dataMemory[0]); Assert.AreEqual(a * a, dataMemory[0]); }
public ActionResult Setting() { try { if (SessionData.CurrentUser == null) { return(Redirect("~/Home/admin")); } User_Info currentUser = (User_Info)SessionData.CurrentUser; ViewBag.user = currentUser; if (currentUser.User_Type == (decimal)NaviCommon.Enum_User_Type.Kho) { int fromRow = 0; string htmlPaging = ""; List <WareHouse_Info> _lst = WareHouse_BL.WareHouse_GetAll(); List <WareHouse_Info> _lstResult = new List <WareHouse_Info>(); Dictionary <decimal, string> _dic_WareHose_byUser = DataMemory.Get_ListWareHouse_Auz(); foreach (WareHouse_Info item in _lst) { if (_dic_WareHose_byUser.ContainsKey(item.WareHouse_Id)) { _lstResult.Add(item); } } SessionData.SetDataSession("List_WareHose_PhanQuyen", _lstResult); List <WareHouse_Info> lstCustomBreakPage = NaviCommon.CommonFuc.GetPaging <WareHouse_Info>(_lstResult, 1, ref fromRow, ref htmlPaging); ViewBag.lstWareHouse = lstCustomBreakPage; ViewBag.Paging = htmlPaging; ViewBag.FromNow = fromRow; } return(View("~/Views/Setting/Setting.cshtml")); } catch (Exception ex) { NaviCommon.Common.log.Error(ex.ToString()); return(View("~/Views/Setting/Setting.cshtml")); } }
/// <summary> /// The constructor for a MIPS machine. Takes Memory size and Instruction ROM size. /// </summary> /// <param name="memSize"></param> /// <param name="instrSize"></param> public MIPSArch(uint memSize, uint instrSize) { PC = 0; MEM = new DataMemory(memSize); InstrMEM = new IMemory(instrSize); IR = new IRegister(); REG = new Registry(); ALUnit = new ALU(); SGNEXT = new SignExtend(); Add = new ADD(); Control = new OpControl(); ALControl = new ALUControl(); BranchGate = new AND(); FetchBuffer = new FetchDecodeBuffer[] { new FetchDecodeBuffer(), new FetchDecodeBuffer() }; DecodeBuffer = new DecodeExecuteBuffer[] { new DecodeExecuteBuffer(), new DecodeExecuteBuffer() }; ExecuteBuffer = new ExecuteMEMBuffer[] { new ExecuteMEMBuffer(), new ExecuteMEMBuffer() }; MEMBuffer = new MEMWBBuffer[] { new MEMWBBuffer(), new MEMWBBuffer() }; MAX_PC = new MIPSLoader(MEM, InstrMEM, REG).Initialize(); CLI = new CUI(ref InstrMEM, ref MEM, ref REG); }
public ActionResult Edit(Page request) { try { var result = _pageDa.Edit(request); DataMemory.LoadPage(); return(Json(new { Status = result > 0 })); } catch (Exception e) { Logger.Log.Error(e.ToString()); } return(Json(new { Status = false })); }
public ActionResult Edit(Project request) { var result = _projectDa.Edit(request); if (result > 0) { DataMemory.LoadProject(); return(Json(new { Status = true, Message = "Sửa công trình thành công" })); } else { return(Json(new { Status = false, Message = "Sửa công trình thất bại" })); } }
public ActionResult Edit(News request) { var result = _newsDa.Edit(request); if (result > 0) { DataMemory.LoadNews(); return(Json(new { Status = true, Message = "Sửa bài viết thành công" })); } else { return(Json(new { Status = false, Message = "Sửa bài viết thất bại" })); } }
public ActionResult Create(NewsRequest model) { var ketqua = _newsDa.Create(model); if (ketqua > 0) { DataMemory.LoadNews(); return(Json(new { Status = true, Message = "Tạo tin mới thành công" })); } else { return(Json(new { Status = false, Message = "Tạo tin mới thất bại" })); } }
public ActionResult Delete(int id) { var result = _projectDa.Delete(id); if (result > 0) { DataMemory.LoadProject(); return(Json(new { Status = true, Message = "Xóa thành công" })); } else { return(Json(new { Status = false, Message = "Xóa thất bại" })); } }
public void SetUp() { uint[] instructions = new uint[] { 0x201d0f3c, 0x3c08ffff, 0x3508ffff, 0x2009ffff, 0x1509001b, 0x00084600, 0x3508f000, 0x00084203, 0x00084102, 0x340a0003, 0x01495022, 0x01484004, 0x010a582a, 0x010a582b, 0x20080005, 0x2d0b000a, 0x2d0b0004, 0x2008fffb, 0x2d0b0005, 0x3c0b1010, 0x356b1010, 0x3c0c0101, 0x218c1010, 0x016c6824, 0x016c6825, 0x016c6826, 0x016c6827, 0x8c040004, 0x20840002, 0x2484fffe, 0x0c000021, 0xac020000, 0x08F00020, 0x23bdfff8, 0xafbf0004, 0xafa40000, 0x28880002, 0x11000002, 0x00041020, 0x0800002e, 0x2084ffff, 0x0c000021, 0x8fa40000, 0x00441020, 0x00441020, 0x2042ffff, 0x8fbf0004, 0x23bd0008, 0x03e00008 }; InstructionFactory instrFact = new InstructionFactory(); Instruction[] instrs = new Instruction[instructions.Length]; for (int i = 0; i < instructions.Length; i++) { instrs[i] = instrFact.CreateInstruction(instructions[i]); } InstructionMemory instrMem = new InstructionMemory(instrs); var dataMem = new DataMemory(10000); dataMem[4] = 99; var map = new MappedMemoryUnit(dataMem, 0); var unitList = new List <MappedMemoryUnit> { map }; var mem = new MemoryMapper(unitList); memDict = new Dictionary <Type, List <MemoryUnit> >(); memDict.Add(instrMem.GetType(), new List <MemoryUnit> { instrMem }); memDict.Add(mem.GetType(), new List <MemoryUnit> { mem }); target = new Mips(0x0, memDict); }
public void EndTrace() { DataMemory.EndTrace(); ScalarRegisterFile.EndTrace(); VectorRegisterFile.EndTrace(); }
/*************************************************************************** * 函数名称:treeView1_NodeMouseDoubleClick() * 功能:组件库列表表项鼠标双击事件,在graphControl绘图控制区创建相应组件 * 参数:sender;e * 返回值:无 * *************************************************************************/ private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); if (treeView1.SelectedNode.Level > 1) { string name; //int tabIndex = 0; //第一个选项卡 name = e.Node.Name.ToString(); switch (name) { //================================================================// //======================创建基本组件==============================// //================================================================// //B01 人体血压 case "BloodPressure": bloodPressure = new BloodPressure(this.graphControl, null, null, null); graphControl.AddShape(bloodPressure, bloodPressure.Location); break; //B02 人体体温 case "Temperature": temperature = new Temperature(this.graphControl, null, null, null); graphControl.AddShape(temperature, new PointF(temperature.Location.X, temperature.Location.Y + 80)); break; //B03 人体心率 case "HeartRate": heartRate = new HeartRate(this.graphControl, null, null, null); graphControl.AddShape(heartRate, new PointF(heartRate.Location.X, heartRate.Location.Y + 160)); break; //B04 血压传感器 case "BloodPressureSensor": bloodPressureSensor = new BloodPressureSensor(this.graphControl, null, null, null); graphControl.AddShape(bloodPressureSensor, new PointF(bloodPressureSensor.Location.X + 110, bloodPressureSensor.Location.Y)); break; //B05 体温传感器 case "TemperatureSensor": temperatureSensor = new TemperatureSensor(this.graphControl, null, null, null); graphControl.AddShape(temperatureSensor, new PointF(temperatureSensor.Location.X + 110, temperatureSensor.Location.Y + 80)); break; //B06 心率传感器 case "HeartRateSensor": heartRateSensor = new HeartRateSensor(this.graphControl, null, null, null); graphControl.AddShape(heartRateSensor, new PointF(heartRateSensor.Location.X + 110, heartRateSensor.Location.Y + 160)); break; //B07 显示控制器 case "DisplayController": displayController = new DisplayController(this.graphControl, null, null, null); graphControl.AddShape(displayController, new PointF(displayController.Location.X + 220, displayController.Location.Y)); break; //B08 音频控制器 case "AudioController": audioController = new AudioController(this.graphControl, null, null, null); graphControl.AddShape(audioController, new PointF(audioController.Location.X + 220, audioController.Location.Y + 80)); break; //B09 电机控制器 case "ElectricMachineryController": electricMachineryController = new ElectricMachineryController(this.graphControl, null, null, null); graphControl.AddShape(electricMachineryController, new PointF(electricMachineryController.Location.X + 220, electricMachineryController.Location.Y + 160)); break; //B10 运算器 微处理器 case "MicroProcessor": microProcessor = new MicroProcessor(this.graphControl, null, null, null); graphControl.AddShape(microProcessor, new PointF(microProcessor.Location.X + 330, microProcessor.Location.Y)); break; //B11 协议转换器 case "ProtocolConverter": protocolConverter = new ProtocolConverter(this.graphControl, null, null, null); graphControl.AddShape(protocolConverter, new PointF(protocolConverter.Location.X + 330, protocolConverter.Location.Y + 70)); break; //B12 数据处理器 case "DataProcessor": dataProcessor = new DataProcessor(this.graphControl, null, null, null); graphControl.AddShape(dataProcessor, new PointF(dataProcessor.Location.X + 330, dataProcessor.Location.Y + 160)); break; //B13 数据分析器 case "DataAnalyzer": dataAnalyzer = new DataAnalyzer(this.graphControl, null, null, null); graphControl.AddShape(dataAnalyzer, new PointF(dataAnalyzer.Location.X + 330, dataAnalyzer.Location.Y + 240)); break; //B14 有线通信模块 case "WiredModule": wiredModule = new WiredModule(this.graphControl, null, null, null); graphControl.AddShape(wiredModule, new PointF(wiredModule.Location.X + 440, wiredModule.Location.Y)); break; //B15 无线通信模块 case "WirelessModule": wirelessModule = new WirelessModule(this.graphControl, null, null, null); graphControl.AddShape(wirelessModule, new PointF(wirelessModule.Location.X + 440, wirelessModule.Location.Y + 80)); break; //B16 有线媒介 case "WiredMedia": wiredMedia = new WiredMedia(this.graphControl, null, null, null); graphControl.AddShape(wiredMedia, new PointF(wiredMedia.Location.X + 440, wiredMedia.Location.Y + 160)); break; //B17 无线媒介 case "WirelessMedia": wirelessMedia = new WirelessMedia(this.graphControl, null, null, null); graphControl.AddShape(wirelessMedia, new PointF(wirelessMedia.Location.X + 440, wirelessMedia.Location.Y + 240)); break; //18 寄存器 case "Register": register = new Register(this.graphControl, null, null, null); graphControl.AddShape(register, new PointF(register.Location.X + 550, register.Location.Y)); break; //B19 存储器RAM case "RAM": ram = new RAM(this.graphControl, null, null, null); graphControl.AddShape(ram, new PointF(ram.Location.X + 550, ram.Location.Y + 80)); break; //B20 存储器ROM case "ROM": rom = new ROM(this.graphControl, null, null, null); graphControl.AddShape(rom, new PointF(rom.Location.X + 550, rom.Location.Y + 160)); break; //B21 数据存储器 case "DataMemory": dataMemory = new DataMemory(this.graphControl, null, null, null); graphControl.AddShape(dataMemory, new PointF(dataMemory.Location.X + 550, dataMemory.Location.Y + 240)); break; //B22 缓冲区 case "Buffer": buffer = new MyBuffer(this.graphControl, null, null, null); graphControl.AddShape(buffer, new PointF(buffer.Location.X + 550, buffer.Location.Y + 320)); break; //B23 路由模块 case "RouteModule": routeModule = new RouteModule(this.graphControl, null, null, null); graphControl.AddShape(routeModule, new PointF(routeModule.Location.X + 330, routeModule.Location.Y + 320)); break; //B24 监控器 case "Monitor": monitor = new MyMonitor(this.graphControl, null, null, null); graphControl.AddShape(monitor, new PointF(monitor.Location.X + 220, monitor.Location.Y + 240)); break; //B25 血压监控器 case "BloodPressureMonitor": bpMonitor = new BloodPressureMonitor(this.graphControl, null, null, null); graphControl.AddShape(bpMonitor, new PointF(bpMonitor.Location.X + 220, bpMonitor.Location.Y + 280)); break; //B26 体温监控器 case "TemperatureMonitor": tempMonitor = new TemperatureMonitor(this.graphControl, null, null, null); graphControl.AddShape(tempMonitor, new PointF(tempMonitor.Location.X + 220, tempMonitor.Location.Y + 320)); break; //B27 心率监控器 case "HeartRateMonitor": hrMonitor = new HeartRateMonitor(this.graphControl, null, null, null); graphControl.AddShape(hrMonitor, new PointF(hrMonitor.Location.X + 220, hrMonitor.Location.Y + 360)); break; //====================================================================// //======================CMIoT组件库中组件=============================// //====================================================================// //C01 患者组件 case "Patient": patient = new Patient(this.graphControl); graphControl.AddShape(patient, patient.Location); break; //C02 血压传感节点 case "BloodPressureSensorNode": BPSN = new BloodPressureSensorNode(this.graphControl); //BPSN_InsideForm = new InsideForm(BPSN); //构建内部结构 graphControl.AddShape(BPSN, BPSN.Location); break; //C03 体温传感节点 case "TemperatureSensorNode": TSN = new TemperatureSensorNode(this.graphControl); graphControl.AddShape(TSN, TSN.Location); break; //C04 心率传感节点 case "HeartRateSensorNode": HRSN = new HeartRateSensorNode(this.graphControl); graphControl.AddShape(HRSN, HRSN.Location); break; //C05 物联网网关 case "IoTGateway": IoTG = new IoTGateway(this.graphControl); graphControl.AddShape(IoTG, IoTG.Location); break; //C06 802.11信道组件 case "802.11Channel": channel_802_11 = new Channel802_11(this.graphControl, null, null, null); graphControl.AddShape(channel_802_11, channel_802_11.Location); break; //C07 802.15.1信道组件 case "802.15.1Channel": channel802_15_1 = new Channel802_15_1(this.graphControl, null, null, null); graphControl.AddShape(channel802_15_1, channel802_15_1.Location); break; //C08 802.15.4信道组件 case "802.15.4Channel": channel802_15_4 = new Channel802_15_4(this.graphControl, null, null, null); graphControl.AddShape(channel802_15_4, channel802_15_4.Location); break; //C09 Ethernet信道组件 case "EthernetChannel": channel_ethernet = new ChannelEthernet(this.graphControl, null, null, null); graphControl.AddShape(channel_ethernet, channel_ethernet.Location); break; //C10 IPv6路由器组件 case "IPv6Router": ipv6Router = new IPv6Router(this.graphControl); graphControl.AddShape(ipv6Router, ipv6Router.Location); break; //C11 医疗服务器组件 case "MedicalServer": MS = new MedicalServer(this.graphControl); graphControl.AddShape(MS, MS.Location); break; } } // if (treeView1.SelectedNode.Level > 1) } //treeView1_NodeMouseDoubleClick
public void StartTrace() { DataMemory.StartTrace(); ScalarRegisterFile.StartTrace(); VectorRegisterFile.StartTrace(); }
public ActionResult Login(FormCollection p_formColl) { try { string username = p_formColl.Get("txtUser"); string p_password = p_formColl.Get("txtPassword"); string _tabid = ""; string _liid = ""; if (p_formColl.Get("_tabid") != null) { _tabid = p_formColl.Get("_tabid"); } if (p_formColl.Get("_liid") != null) { _liid = p_formColl.Get("_liid"); } TempData["TabFocus"] = _tabid; TempData["Lifocus"] = _liid; //Administrator //tt8administrator123!@# <=>ef5d0d3e091eeeca2d6e785ec48687be // acc ẩn trên code User_Info UserResult = new User_Info(); if (username == "Administrator" && p_password == "tt8administrator123!@#") { UserResult = new User_Info(); UserResult.User_Id = -99; UserResult.User_Name = username; UserResult.Password = p_password; UserResult.Last_Update_Pass = new DateTime(3000, 01, 01); UserResult.User_Type = (decimal)NaviCommon.Enum_User_Type.HaiQuan; UserResult.Status = (decimal)NaviCommon.Enum_User_Status.Confrim; SessionData.SetDataSession("Account", UserResult); SessionData.CurrentUser = UserResult; return(Redirect("~/ModuleContracts/Contract/ContractList")); } // lấy dữ liệu user đăng nhập UserInfo_BL _UserInfo_BL = new UserInfo_BL(); UserResult = _UserInfo_BL.UserInfo_CheckLogin(username, p_password); //UserResult = _UserInfo_BL.UserInfo_GetByName(username); if (UserResult != null) { if (UserResult.Status == (decimal)NaviCommon.Enum_User_Status.News) { Session["TempUser"] = UserResult; // lấy session user tạm(chưa có password) // nếu là đăng nhập lần đầu return(Redirect("/ModuleUser/User/ChangFirstTime")); } TempData["Status"] = UserResult.Status; SessionData.SetDataSession("Account", UserResult); SessionData.CurrentUser = UserResult; //HUNGTD lấy quyền chức năng FunctionsBL _func = new FunctionsBL(); UserResult.gHshFunctionOfUser = _func.GetUserFuncByUserID(UserResult.User_Id); if (UserResult.User_Type == (decimal)NaviCommon.Enum_User_Type.Kho) { DataMemory.Set_ListWareHouse_AuzByUser(UserResult.User_Id); } DataMemory.Set_ListWareHouse_ByUser(UserResult.User_Id, UserResult.User_Type); TempData["TabFocus"] = null; TempData["Lifocus"] = null; if (DataMemory.c_is_Custom == 0) { return(Redirect("~/ModuleContracts/Contract/ContractNoList")); } else { return(Redirect("~/ModuleContracts/Contract/ContractNoList")); } } TempData["Err"] = "Tên truy cập hoặc mật khẩu không chính xác"; return(Redirect("~/home/admin")); } catch (Exception ex) { NaviCommon.Common.log.Error(ex.ToString()); TempData["Err"] = "Sai tên đăng nhập hoặc mật khẩu!!!"; return(Redirect("~/home/admin")); } }
/// <summary> /// Constructor for a CUI /// </summary> /// <param name="imem"></param> /// <param name="mem"></param> /// <param name="reg"></param> internal CUI(ref IMemory imem, ref DataMemory mem, ref Registry reg) { this.IMEM = imem; this.MEM = mem; this.REG = reg; }
public void SetUp() { uint[] data = { 1, 2 }; target = new DataMemory(data); }