From 9ef45d9cef50daa7ee0fd94fec254d89fb5f21f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferit=20Yi=C4=9Fit=20BALABAN?= Date: Thu, 28 Oct 2021 22:58:37 +0300 Subject: [PATCH] Designed MainForm --- MainForm.Designer.cs | 761 +++++++++++++++++++++++++++++++++++++++++++ MainForm.cs | 29 ++ MainForm.resx | 60 ++++ Program.cs | 23 ++ processor.csproj | 24 ++ processor.sln | 25 ++ 6 files changed, 922 insertions(+) create mode 100644 MainForm.Designer.cs create mode 100644 MainForm.cs create mode 100644 MainForm.resx create mode 100644 Program.cs create mode 100644 processor.csproj create mode 100644 processor.sln diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs new file mode 100644 index 0000000..c58935c --- /dev/null +++ b/MainForm.Designer.cs @@ -0,0 +1,761 @@ + +namespace processor +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.btnStep = new System.Windows.Forms.Button(); + this.btnStart = new System.Windows.Forms.Button(); + this.btnHalt = new System.Windows.Forms.Button(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.lblOpcodeDesc = new System.Windows.Forms.Label(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.label13 = new System.Windows.Forms.Label(); + this.txtrf = new System.Windows.Forms.TextBox(); + this.label14 = new System.Windows.Forms.Label(); + this.txtr8 = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); + this.txtr9 = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.txtra = new System.Windows.Forms.TextBox(); + this.label17 = new System.Windows.Forms.Label(); + this.txtrb = new System.Windows.Forms.TextBox(); + this.label18 = new System.Windows.Forms.Label(); + this.txtrc = new System.Windows.Forms.TextBox(); + this.label19 = new System.Windows.Forms.Label(); + this.txtrd = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.txtre = new System.Windows.Forms.TextBox(); + this.txtrInstReg = new System.Windows.Forms.TextBox(); + this._lblIR = new System.Windows.Forms.Label(); + this.txtProgCounter = new System.Windows.Forms.TextBox(); + this._lblPC = new System.Windows.Forms.Label(); + this._lblr7 = new System.Windows.Forms.Label(); + this.txtr7 = new System.Windows.Forms.TextBox(); + this._lblr6 = new System.Windows.Forms.Label(); + this.txtr0 = new System.Windows.Forms.TextBox(); + this._lblr5 = new System.Windows.Forms.Label(); + this.txtr1 = new System.Windows.Forms.TextBox(); + this._lblr4 = new System.Windows.Forms.Label(); + this.txtr2 = new System.Windows.Forms.TextBox(); + this._lblr3 = new System.Windows.Forms.Label(); + this.txtr3 = new System.Windows.Forms.TextBox(); + this._lblr2 = new System.Windows.Forms.Label(); + this.txtr4 = new System.Windows.Forms.TextBox(); + this._lblr1 = new System.Windows.Forms.Label(); + this.txtr5 = new System.Windows.Forms.TextBox(); + this._lblr0 = new System.Windows.Forms.Label(); + this.txtr6 = new System.Windows.Forms.TextBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.ramList = new System.Windows.Forms.ListBox(); + this.lblOpcode = new System.Windows.Forms.Label(); + this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.btnClear = new System.Windows.Forms.Button(); + this.btnLoad = new System.Windows.Forms.Button(); + this.txtCode = new System.Windows.Forms.RichTextBox(); + this.lblStatus = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.groupBox2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox6.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer1 + // + this.splitContainer1.Cursor = System.Windows.Forms.Cursors.VSplit; + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.groupBox2); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); + this.splitContainer1.Size = new System.Drawing.Size(967, 450); + this.splitContainer1.SplitterDistance = 349; + this.splitContainer1.TabIndex = 0; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.btnClear); + this.groupBox2.Controls.Add(this.btnLoad); + this.groupBox2.Controls.Add(this.txtCode); + this.groupBox2.Controls.Add(this.groupBox6); + this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox2.Location = new System.Drawing.Point(0, 0); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(349, 450); + this.groupBox2.TabIndex = 0; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Input"; + // + // btnStep + // + this.btnStep.Location = new System.Drawing.Point(94, 71); + this.btnStep.Name = "btnStep"; + this.btnStep.Size = new System.Drawing.Size(75, 23); + this.btnStep.TabIndex = 3; + this.btnStep.Text = "Step"; + this.btnStep.UseVisualStyleBackColor = true; + // + // btnStart + // + this.btnStart.Location = new System.Drawing.Point(256, 71); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(75, 23); + this.btnStart.TabIndex = 2; + this.btnStart.Text = "Start"; + this.btnStart.UseVisualStyleBackColor = true; + // + // btnHalt + // + this.btnHalt.Enabled = false; + this.btnHalt.Location = new System.Drawing.Point(175, 71); + this.btnHalt.Name = "btnHalt"; + this.btnHalt.Size = new System.Drawing.Size(75, 23); + this.btnHalt.TabIndex = 1; + this.btnHalt.Text = "Halt"; + this.btnHalt.UseVisualStyleBackColor = true; + // + // splitContainer2 + // + this.splitContainer2.Cursor = System.Windows.Forms.Cursors.VSplit; + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.groupBox1); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.groupBox3); + this.splitContainer2.Size = new System.Drawing.Size(614, 450); + this.splitContainer2.SplitterDistance = 405; + this.splitContainer2.TabIndex = 0; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.splitContainer3); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(405, 450); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "CPU"; + // + // splitContainer3 + // + this.splitContainer3.Cursor = System.Windows.Forms.Cursors.HSplit; + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.Location = new System.Drawing.Point(3, 19); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.groupBox4); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.groupBox5); + this.splitContainer3.Size = new System.Drawing.Size(399, 428); + this.splitContainer3.SplitterDistance = 155; + this.splitContainer3.TabIndex = 0; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.lblOpcode); + this.groupBox4.Controls.Add(this.lblOpcodeDesc); + this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox4.Location = new System.Drawing.Point(0, 0); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(399, 155); + this.groupBox4.TabIndex = 0; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "Control"; + // + // lblOpcodeDesc + // + this.lblOpcodeDesc.AutoSize = true; + this.lblOpcodeDesc.Location = new System.Drawing.Point(16, 55); + this.lblOpcodeDesc.Name = "lblOpcodeDesc"; + this.lblOpcodeDesc.Size = new System.Drawing.Size(117, 15); + this.lblOpcodeDesc.TabIndex = 1; + this.lblOpcodeDesc.Text = "{opcode description}"; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.label13); + this.groupBox5.Controls.Add(this.txtrf); + this.groupBox5.Controls.Add(this.label14); + this.groupBox5.Controls.Add(this.txtr8); + this.groupBox5.Controls.Add(this.label15); + this.groupBox5.Controls.Add(this.txtr9); + this.groupBox5.Controls.Add(this.label16); + this.groupBox5.Controls.Add(this.txtra); + this.groupBox5.Controls.Add(this.label17); + this.groupBox5.Controls.Add(this.txtrb); + this.groupBox5.Controls.Add(this.label18); + this.groupBox5.Controls.Add(this.txtrc); + this.groupBox5.Controls.Add(this.label19); + this.groupBox5.Controls.Add(this.txtrd); + this.groupBox5.Controls.Add(this.label20); + this.groupBox5.Controls.Add(this.txtre); + this.groupBox5.Controls.Add(this.txtrInstReg); + this.groupBox5.Controls.Add(this._lblIR); + this.groupBox5.Controls.Add(this.txtProgCounter); + this.groupBox5.Controls.Add(this._lblPC); + this.groupBox5.Controls.Add(this._lblr7); + this.groupBox5.Controls.Add(this.txtr7); + this.groupBox5.Controls.Add(this._lblr6); + this.groupBox5.Controls.Add(this.txtr0); + this.groupBox5.Controls.Add(this._lblr5); + this.groupBox5.Controls.Add(this.txtr1); + this.groupBox5.Controls.Add(this._lblr4); + this.groupBox5.Controls.Add(this.txtr2); + this.groupBox5.Controls.Add(this._lblr3); + this.groupBox5.Controls.Add(this.txtr3); + this.groupBox5.Controls.Add(this._lblr2); + this.groupBox5.Controls.Add(this.txtr4); + this.groupBox5.Controls.Add(this._lblr1); + this.groupBox5.Controls.Add(this.txtr5); + this.groupBox5.Controls.Add(this._lblr0); + this.groupBox5.Controls.Add(this.txtr6); + this.groupBox5.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox5.Location = new System.Drawing.Point(0, 0); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Size = new System.Drawing.Size(399, 269); + this.groupBox5.TabIndex = 16; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "Registers"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(124, 145); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(41, 15); + this.label13.TabIndex = 35; + this.label13.Text = "Reg C:"; + // + // txtrf + // + this.txtrf.Location = new System.Drawing.Point(168, 229); + this.txtrf.Name = "txtrf"; + this.txtrf.Size = new System.Drawing.Size(56, 23); + this.txtrf.TabIndex = 27; + this.txtrf.Text = "00000000"; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(124, 232); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(39, 15); + this.label14.TabIndex = 34; + this.label14.Text = "Reg F:"; + // + // txtr8 + // + this.txtr8.Location = new System.Drawing.Point(168, 27); + this.txtr8.Name = "txtr8"; + this.txtr8.Size = new System.Drawing.Size(56, 23); + this.txtr8.TabIndex = 20; + this.txtr8.Text = "00000000"; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(124, 203); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(39, 15); + this.label15.TabIndex = 33; + this.label15.Text = "Reg E:"; + // + // txtr9 + // + this.txtr9.Location = new System.Drawing.Point(168, 55); + this.txtr9.Name = "txtr9"; + this.txtr9.Size = new System.Drawing.Size(56, 23); + this.txtr9.TabIndex = 21; + this.txtr9.Text = "00000000"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(124, 174); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(41, 15); + this.label16.TabIndex = 32; + this.label16.Text = "Reg D:"; + // + // txtra + // + this.txtra.Location = new System.Drawing.Point(168, 84); + this.txtra.Name = "txtra"; + this.txtra.Size = new System.Drawing.Size(56, 23); + this.txtra.TabIndex = 22; + this.txtra.Text = "00000000"; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(123, 116); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(40, 15); + this.label17.TabIndex = 31; + this.label17.Text = "Reg B:"; + // + // txtrb + // + this.txtrb.Location = new System.Drawing.Point(168, 113); + this.txtrb.Name = "txtrb"; + this.txtrb.Size = new System.Drawing.Size(56, 23); + this.txtrb.TabIndex = 23; + this.txtrb.Text = "00000000"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(123, 87); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(41, 15); + this.label18.TabIndex = 30; + this.label18.Text = "Reg A:"; + // + // txtrc + // + this.txtrc.Location = new System.Drawing.Point(168, 142); + this.txtrc.Name = "txtrc"; + this.txtrc.Size = new System.Drawing.Size(56, 23); + this.txtrc.TabIndex = 24; + this.txtrc.Text = "00000000"; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(123, 58); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(39, 15); + this.label19.TabIndex = 29; + this.label19.Text = "Reg 9:"; + // + // txtrd + // + this.txtrd.Location = new System.Drawing.Point(168, 171); + this.txtrd.Name = "txtrd"; + this.txtrd.Size = new System.Drawing.Size(56, 23); + this.txtrd.TabIndex = 25; + this.txtrd.Text = "00000000"; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(123, 30); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(39, 15); + this.label20.TabIndex = 28; + this.label20.Text = "Reg 8:"; + // + // txtre + // + this.txtre.Location = new System.Drawing.Point(168, 200); + this.txtre.Name = "txtre"; + this.txtre.Size = new System.Drawing.Size(56, 23); + this.txtre.TabIndex = 26; + this.txtre.Text = "00000000"; + // + // txtrInstReg + // + this.txtrInstReg.Location = new System.Drawing.Point(287, 229); + this.txtrInstReg.Name = "txtrInstReg"; + this.txtrInstReg.Size = new System.Drawing.Size(106, 23); + this.txtrInstReg.TabIndex = 19; + this.txtrInstReg.Text = "0000000000000000"; + // + // _lblIR + // + this._lblIR.AutoSize = true; + this._lblIR.Location = new System.Drawing.Point(284, 211); + this._lblIR.Name = "_lblIR"; + this._lblIR.Size = new System.Drawing.Size(109, 15); + this._lblIR.TabIndex = 18; + this._lblIR.Text = "Instruction register:"; + // + // txtProgCounter + // + this.txtProgCounter.Location = new System.Drawing.Point(287, 48); + this.txtProgCounter.Name = "txtProgCounter"; + this.txtProgCounter.Size = new System.Drawing.Size(56, 23); + this.txtProgCounter.TabIndex = 17; + this.txtProgCounter.Text = "00000000"; + // + // _lblPC + // + this._lblPC.AutoSize = true; + this._lblPC.Location = new System.Drawing.Point(287, 30); + this._lblPC.Name = "_lblPC"; + this._lblPC.Size = new System.Drawing.Size(100, 15); + this._lblPC.TabIndex = 16; + this._lblPC.Text = "Program counter:"; + // + // _lblr7 + // + this._lblr7.AutoSize = true; + this._lblr7.Location = new System.Drawing.Point(16, 232); + this._lblr7.Name = "_lblr7"; + this._lblr7.Size = new System.Drawing.Size(39, 15); + this._lblr7.TabIndex = 15; + this._lblr7.Text = "Reg 7:"; + // + // txtr7 + // + this.txtr7.Location = new System.Drawing.Point(61, 229); + this.txtr7.Name = "txtr7"; + this.txtr7.Size = new System.Drawing.Size(56, 23); + this.txtr7.TabIndex = 7; + this.txtr7.Text = "00000000"; + // + // _lblr6 + // + this._lblr6.AutoSize = true; + this._lblr6.Location = new System.Drawing.Point(16, 203); + this._lblr6.Name = "_lblr6"; + this._lblr6.Size = new System.Drawing.Size(39, 15); + this._lblr6.TabIndex = 14; + this._lblr6.Text = "Reg 6:"; + // + // txtr0 + // + this.txtr0.Location = new System.Drawing.Point(61, 27); + this.txtr0.Name = "txtr0"; + this.txtr0.Size = new System.Drawing.Size(56, 23); + this.txtr0.TabIndex = 0; + this.txtr0.Text = "00000000"; + // + // _lblr5 + // + this._lblr5.AutoSize = true; + this._lblr5.Location = new System.Drawing.Point(16, 174); + this._lblr5.Name = "_lblr5"; + this._lblr5.Size = new System.Drawing.Size(39, 15); + this._lblr5.TabIndex = 13; + this._lblr5.Text = "Reg 5:"; + // + // txtr1 + // + this.txtr1.Location = new System.Drawing.Point(61, 55); + this.txtr1.Name = "txtr1"; + this.txtr1.Size = new System.Drawing.Size(56, 23); + this.txtr1.TabIndex = 1; + this.txtr1.Text = "00000000"; + // + // _lblr4 + // + this._lblr4.AutoSize = true; + this._lblr4.Location = new System.Drawing.Point(16, 145); + this._lblr4.Name = "_lblr4"; + this._lblr4.Size = new System.Drawing.Size(39, 15); + this._lblr4.TabIndex = 12; + this._lblr4.Text = "Reg 4:"; + // + // txtr2 + // + this.txtr2.Location = new System.Drawing.Point(61, 84); + this.txtr2.Name = "txtr2"; + this.txtr2.Size = new System.Drawing.Size(56, 23); + this.txtr2.TabIndex = 2; + this.txtr2.Text = "00000000"; + // + // _lblr3 + // + this._lblr3.AutoSize = true; + this._lblr3.Location = new System.Drawing.Point(16, 116); + this._lblr3.Name = "_lblr3"; + this._lblr3.Size = new System.Drawing.Size(39, 15); + this._lblr3.TabIndex = 11; + this._lblr3.Text = "Reg 3:"; + // + // txtr3 + // + this.txtr3.Location = new System.Drawing.Point(61, 113); + this.txtr3.Name = "txtr3"; + this.txtr3.Size = new System.Drawing.Size(56, 23); + this.txtr3.TabIndex = 3; + this.txtr3.Text = "00000000"; + // + // _lblr2 + // + this._lblr2.AutoSize = true; + this._lblr2.Location = new System.Drawing.Point(16, 87); + this._lblr2.Name = "_lblr2"; + this._lblr2.Size = new System.Drawing.Size(39, 15); + this._lblr2.TabIndex = 10; + this._lblr2.Text = "Reg 2:"; + // + // txtr4 + // + this.txtr4.Location = new System.Drawing.Point(61, 142); + this.txtr4.Name = "txtr4"; + this.txtr4.Size = new System.Drawing.Size(56, 23); + this.txtr4.TabIndex = 4; + this.txtr4.Text = "00000000"; + // + // _lblr1 + // + this._lblr1.AutoSize = true; + this._lblr1.Location = new System.Drawing.Point(16, 58); + this._lblr1.Name = "_lblr1"; + this._lblr1.Size = new System.Drawing.Size(39, 15); + this._lblr1.TabIndex = 9; + this._lblr1.Text = "Reg 1:"; + // + // txtr5 + // + this.txtr5.Location = new System.Drawing.Point(61, 171); + this.txtr5.Name = "txtr5"; + this.txtr5.Size = new System.Drawing.Size(56, 23); + this.txtr5.TabIndex = 5; + this.txtr5.Text = "00000000"; + // + // _lblr0 + // + this._lblr0.AutoSize = true; + this._lblr0.Location = new System.Drawing.Point(16, 30); + this._lblr0.Name = "_lblr0"; + this._lblr0.Size = new System.Drawing.Size(39, 15); + this._lblr0.TabIndex = 8; + this._lblr0.Text = "Reg 0:"; + // + // txtr6 + // + this.txtr6.Location = new System.Drawing.Point(61, 200); + this.txtr6.Name = "txtr6"; + this.txtr6.Size = new System.Drawing.Size(56, 23); + this.txtr6.TabIndex = 6; + this.txtr6.Text = "00000000"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.ramList); + this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox3.Location = new System.Drawing.Point(0, 0); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(205, 450); + this.groupBox3.TabIndex = 1; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "RAM"; + // + // ramList + // + this.ramList.Dock = System.Windows.Forms.DockStyle.Fill; + this.ramList.FormattingEnabled = true; + this.ramList.ItemHeight = 15; + this.ramList.Items.AddRange(new object[] { + "00000000: 00000000", + "00000001: 00000000"}); + this.ramList.Location = new System.Drawing.Point(3, 19); + this.ramList.Name = "ramList"; + this.ramList.Size = new System.Drawing.Size(199, 428); + this.ramList.TabIndex = 0; + // + // lblOpcode + // + this.lblOpcode.AutoSize = true; + this.lblOpcode.Location = new System.Drawing.Point(16, 30); + this.lblOpcode.Name = "lblOpcode"; + this.lblOpcode.Size = new System.Drawing.Size(55, 15); + this.lblOpcode.TabIndex = 2; + this.lblOpcode.Text = "{opcode}"; + // + // groupBox6 + // + this.groupBox6.Controls.Add(this.lblStatus); + this.groupBox6.Controls.Add(this.btnStart); + this.groupBox6.Controls.Add(this.btnStep); + this.groupBox6.Controls.Add(this.btnHalt); + this.groupBox6.Location = new System.Drawing.Point(9, 338); + this.groupBox6.Name = "groupBox6"; + this.groupBox6.Size = new System.Drawing.Size(337, 100); + this.groupBox6.TabIndex = 4; + this.groupBox6.TabStop = false; + // + // btnClear + // + this.btnClear.Location = new System.Drawing.Point(187, 316); + this.btnClear.Name = "btnClear"; + this.btnClear.Size = new System.Drawing.Size(75, 23); + this.btnClear.TabIndex = 8; + this.btnClear.Text = "Clear"; + this.btnClear.UseVisualStyleBackColor = true; + // + // btnLoad + // + this.btnLoad.Location = new System.Drawing.Point(268, 316); + this.btnLoad.Name = "btnLoad"; + this.btnLoad.Size = new System.Drawing.Size(75, 23); + this.btnLoad.TabIndex = 7; + this.btnLoad.Text = "Load"; + this.btnLoad.UseVisualStyleBackColor = true; + // + // txtCode + // + this.txtCode.Location = new System.Drawing.Point(6, 23); + this.txtCode.Name = "txtCode"; + this.txtCode.Size = new System.Drawing.Size(337, 291); + this.txtCode.TabIndex = 6; + this.txtCode.Text = ""; + // + // lblStatus + // + this.lblStatus.AutoSize = true; + this.lblStatus.Location = new System.Drawing.Point(6, 19); + this.lblStatus.Name = "lblStatus"; + this.lblStatus.Size = new System.Drawing.Size(84, 15); + this.lblStatus.TabIndex = 4; + this.lblStatus.Text = "Status: {status}"; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(967, 450); + this.Controls.Add(this.splitContainer1); + this.Name = "MainForm"; + this.Text = "Vole by ferityigitbalaban"; + this.Load += new System.EventHandler(this.MainForm_Load); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.groupBox5.ResumeLayout(false); + this.groupBox5.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox6.ResumeLayout(false); + this.groupBox6.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.SplitContainer splitContainer2; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.ListBox ramList; + private System.Windows.Forms.Button btnStart; + private System.Windows.Forms.Button btnHalt; + private System.Windows.Forms.Button btnStep; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.TextBox txtrInstReg; + private System.Windows.Forms.Label _lblIR; + private System.Windows.Forms.TextBox txtProgCounter; + private System.Windows.Forms.Label _lblPC; + private System.Windows.Forms.Label _lblr7; + private System.Windows.Forms.TextBox txtr7; + private System.Windows.Forms.Label _lblr6; + private System.Windows.Forms.TextBox txtr0; + private System.Windows.Forms.Label _lblr5; + private System.Windows.Forms.TextBox txtr1; + private System.Windows.Forms.Label _lblr4; + private System.Windows.Forms.TextBox txtr2; + private System.Windows.Forms.Label _lblr3; + private System.Windows.Forms.TextBox txtr3; + private System.Windows.Forms.Label _lblr2; + private System.Windows.Forms.TextBox txtr4; + private System.Windows.Forms.Label _lblr1; + private System.Windows.Forms.TextBox txtr5; + private System.Windows.Forms.Label _lblr0; + private System.Windows.Forms.TextBox txtr6; + private System.Windows.Forms.Label lblOpcodeDesc; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.TextBox txtrf; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.TextBox txtr8; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox txtr9; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.TextBox txtra; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.TextBox txtrb; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.TextBox txtrc; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.TextBox txtrd; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.TextBox txtre; + private System.Windows.Forms.Label lblOpcode; + private System.Windows.Forms.Button btnClear; + private System.Windows.Forms.Button btnLoad; + private System.Windows.Forms.RichTextBox txtCode; + private System.Windows.Forms.GroupBox groupBox6; + private System.Windows.Forms.Label lblStatus; + } +} + diff --git a/MainForm.cs b/MainForm.cs new file mode 100644 index 0000000..c905955 --- /dev/null +++ b/MainForm.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace processor +{ + public partial class MainForm : Form + { + public MainForm() => InitializeComponent(); + + private void MainForm_Load(object sender, EventArgs e) + { + InitializeRamList(); + } + + private void InitializeRamList() + { + ramList.Items.Clear(); + for (int i = 0; i < 256; i++) + ramList.Items.Add(string.Format("{0}: {1}", Convert.ToString(i, 2).PadLeft(8, '0'), "00000000")); + } + } +} diff --git a/MainForm.resx b/MainForm.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/MainForm.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..7f81bec --- /dev/null +++ b/Program.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace processor +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.SetHighDpiMode(HighDpiMode.SystemAware); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/processor.csproj b/processor.csproj new file mode 100644 index 0000000..728a08d --- /dev/null +++ b/processor.csproj @@ -0,0 +1,24 @@ + + + + WinExe + net5.0-windows + true + + + + + True + True + DescriptionResource.resx + + + + + + ResXFileCodeGenerator + DescriptionResource.Designer.cs + + + + \ No newline at end of file diff --git a/processor.sln b/processor.sln new file mode 100644 index 0000000..f6f0a94 --- /dev/null +++ b/processor.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31729.503 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "processor", "processor.csproj", "{38CFB37B-7413-4A01-822C-02F44BEE9FEA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {38CFB37B-7413-4A01-822C-02F44BEE9FEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {38CFB37B-7413-4A01-822C-02F44BEE9FEA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {38CFB37B-7413-4A01-822C-02F44BEE9FEA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {38CFB37B-7413-4A01-822C-02F44BEE9FEA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E3DF7516-CCF3-4130-AB7A-29B1063A3891} + EndGlobalSection +EndGlobal