Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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;
public Form1()
InitializeComponent();
clear_form();
address_input.Enabled = false;
data_input.Enabled = false;
IO_Data.Enabled = false;
startbutton.Enabled = false;
ctrlbus_io.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_io.ForeColor = System.Drawing.Color.Maroon;
ctrlbus_mm.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_mm.ForeColor = System.Drawing.Color.Maroon;
addbus_mm.ForeColor = System.Drawing.Color.Maroon;
addbusline_mm.ForeColor = System.Drawing.Color.Maroon;
addbusline_mm1.ForeColor = System.Drawing.Color.Maroon;
addbusline_mm2.ForeColor = System.Drawing.Color.Maroon;
addbusline_mm3.ForeColor = System.Drawing.Color.Maroon;
databus_io.ForeColor = System.Drawing.Color.Maroon;
databus_io1.ForeColor = System.Drawing.Color.Maroon;
databusline_io.ForeColor = System.Drawing.Color.Maroon;
databusline_io.ForeColor = System.Drawing.Color.Maroon;
databusline_io2.ForeColor = System.Drawing.Color.Maroon;
databusline_io1.ForeColor = System.Drawing.Color.Maroon;
databus_mm.ForeColor = System.Drawing.Color.Maroon;
databusline_mm.ForeColor = System.Drawing.Color.Maroon;
databusline_mm1.ForeColor = System.Drawing.Color.Maroon;
databusline_mm2.ForeColor = System.Drawing.Color.Maroon;
IO_module.BackColor = System.Drawing.Color.Khaki;
address_buffer.BackColor = System.Drawing.Color.Khaki;
data_buffer.BackColor = System.Drawing.Color.Khaki;
row_decoder.BackColor = System.Drawing.Color.Khaki;
cs_cas.Text = "1";
cs_ras.Text = "1";
cs_we.Text = "1";
cs_re.Text = "1";
cs_cas.BackColor = System.Drawing.SystemColors.Control;
cs_ras.BackColor = System.Drawing.SystemColors.Control;
cs_we.BackColor = System.Drawing.SystemColors.Control;
cs_re.BackColor = System.Drawing.SystemColors.Control;
address_input.Text = "";
data_input.Text = "";
CPU_status.Text = "";
IO_status.Text = "";
MM_status.Text = "";
operation_sel.Text = "";
operation_sel.Items.Clear();
operation_sel.Items.Add("I/O to CPU");
clear_form();
address_input.Enabled = false;
data_input.Enabled = false;
IO_Data.Enabled = false;
startbutton.Enabled = false;
operation_sel.Enabled = true;
operation_sel.Items.Clear();
operation_sel.Items.Add("CPU to I/O");
clear_form();
}
private void operation_sel_SelectedIndexChanged(object sender,
EventArgs e)
address_input.Enabled = true;
data_input.Enabled = false;
IO_Data.Enabled = false;
startbutton.Enabled = false;
address_input.Enabled = false;
data_input.Enabled = false;
IO_Data.Enabled = true;
startbutton.Enabled = false;
address_input.Enabled = true;
data_input.Enabled = true;
IO_Data.Enabled = false;
startbutton.Enabled = false;
address_input.Enabled = false;
data_input.Enabled = true;
IO_Data.Enabled = false;
startbutton.Enabled = false;
}
private void address_input_TextChanged(object sender, EventArgs e)
int address_no = 0;
address_pass = false;
address_exe.Text = "";
startbutton.Enabled = false;
else
address_pass = true;
address_exe.Text = address_input.Text;
CPU_status.Text = "";
startbutton.Enabled = true;
startbutton.Enabled = true;
}
else
address_exe.Text = "";
startbutton.Enabled = false;
address_pass = false;
int data_no = 0;
data_pass = false;
data_exe.Text = "";
startbutton.Enabled = false;
else
data_pass = true;
data_exe.Text = data_input.Text;
CPU_status.Text = "";
startbutton.Enabled = true;
else
{
data_exe.Text = "";
startbutton.Enabled = false;
data_pass = false;
int data_no = 0;
startbutton.Enabled = false;
else
startbutton.Enabled = true;
else
startbutton.Enabled = false;
Task.Delay(1000).Wait();
ctrlbus_mm.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_mm.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
CPU_status.Text = "";
ctrlbus_mm.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_mm.ForeColor = System.Drawing.Color.Maroon;
Task.Delay(1000).Wait();
ctrlbus_mm.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_mm.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
MM_status.Text = "";
ctrlbus_mm.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_mm.ForeColor = System.Drawing.Color.Maroon;
cs_re.Text = "0";
cs_re.BackColor = System.Drawing.Color.Orange;
Task.Delay(1000).Wait();
addbus_mm.ForeColor = System.Drawing.Color.LimeGreen;
addbusline_mm.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
addbusline_mm1.ForeColor = System.Drawing.Color.LimeGreen;
address_buffer.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
cs_cas.Text = "0";
cs_ras.Text = "0";
cs_ras.BackColor = System.Drawing.Color.Orange;
cs_cas.BackColor = System.Drawing.Color.Orange;
addbusline_mm2.ForeColor = System.Drawing.Color.LimeGreen;
addbusline_mm3.ForeColor = System.Drawing.Color.LimeGreen;
row_decoder.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
if (add == address)
if (database[add].Text == "")
clear_form();
else
MM_status.Text = "";
databusline_mm2.ForeColor =
System.Drawing.Color.LimeGreen;
databusline_mm2.Text = "vvvvvvvv";
Task.Delay(1000).Wait();
data_buffer.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
databusline_mm1.ForeColor =
System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
databus_mm.ForeColor =
System.Drawing.Color.LimeGreen;
databusline_mm.ForeColor =
System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
data_exe.Text = database[add].Text;
clear_form();
Task.Delay(1000).Wait();
ctrlbus_mm.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_mm.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
CPU_status.Text = "";
ctrlbus_mm.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_mm.ForeColor = System.Drawing.Color.Maroon;
Task.Delay(1000).Wait();
ctrlbus_mm.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_mm.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
MM_status.Text = "";
ctrlbus_mm.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_mm.ForeColor = System.Drawing.Color.Maroon;
cs_we.Text = "0";
cs_we.BackColor = System.Drawing.Color.Orange;
Task.Delay(1000).Wait();
addbus_mm.ForeColor = System.Drawing.Color.LimeGreen;
addbusline_mm.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
addbusline_mm1.ForeColor = System.Drawing.Color.LimeGreen;
address_buffer.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
cs_cas.Text = "0";
cs_ras.Text = "0";
cs_ras.BackColor = System.Drawing.Color.Orange;
cs_cas.BackColor = System.Drawing.Color.Orange;
addbusline_mm2.ForeColor = System.Drawing.Color.LimeGreen;
addbusline_mm3.ForeColor = System.Drawing.Color.LimeGreen;
row_decoder.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
if (add == address)
MM_status.Text = "";
databus_mm.ForeColor = System.Drawing.Color.LimeGreen;
databusline_mm.ForeColor =
System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
databusline_mm1.ForeColor =
System.Drawing.Color.LimeGreen;
databusline_mm1.Text = "> > > > > > >";
Task.Delay(1000).Wait();
data_buffer.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
databusline_mm2.ForeColor =
System.Drawing.Color.LimeGreen;
databusline_mm2.Text = "^^^^^^^^";
Task.Delay(1000).Wait();
database[add].Text = data_input.Text ;
clear_form();
Task.Delay(1000).Wait();
ctrlbus_io.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_io.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
CPU_status.Text = "";
ctrlbus_io.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_io.ForeColor = System.Drawing.Color.Maroon;
Task.Delay(1000).Wait();
ctrlbus_io.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_io.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
IO_status.Text = "";
ctrlbus_io.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_io.ForeColor = System.Drawing.Color.Maroon;
if (IO_Data.Text == "")
clear_form();
else
databusline_io2.ForeColor =
System.Drawing.Color.LimeGreen;
databusline_io2.Text = "vvvvv";
databus_io1.ForeColor = System.Drawing.Color.LimeGreen;
databusline_io1.ForeColor =
System.Drawing.Color.LimeGreen;
databusline_io1.Text = "vvvvv";
Task.Delay(1000).Wait();
IO_module.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
databus_io.ForeColor = System.Drawing.Color.LimeGreen;
databusline_io.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
data_exe.Text = IO_Data.Text;
clear_form();
Task.Delay(1000).Wait();
ctrlbus_io.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_io.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
CPU_status.Text = "";
ctrlbus_io.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_io.ForeColor = System.Drawing.Color.Maroon;
Task.Delay(1000).Wait();
ctrlbus_io.ForeColor = System.Drawing.Color.LimeGreen;
ctrlbusline_io.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
IO_status.Text = "";
ctrlbus_io.ForeColor = System.Drawing.Color.Maroon;
ctrlbusline_io.ForeColor = System.Drawing.Color.Maroon;
databus_io.ForeColor = System.Drawing.Color.LimeGreen;
databusline_io.ForeColor = System.Drawing.Color.LimeGreen;
Task.Delay(1000).Wait();
IO_module.BackColor = System.Drawing.Color.Gold;
Task.Delay(1000).Wait();
databusline_io2.ForeColor = System.Drawing.Color.LimeGreen;
databusline_io2.Text = "^^^^^";
databus_io1.ForeColor = System.Drawing.Color.LimeGreen;
databusline_io1.ForeColor = System.Drawing.Color.LimeGreen;
databusline_io1.Text = "^^^^^";
Task.Delay(1000).Wait();
IO_Data.Text = data_input.Text;
clear_form();