Пример #1
0
        private void sim_start_Click(object sender, EventArgs e)
        {
            Sim_gb.Enabled      = true;
            sim_decode.Enabled  = false;
            sim_execute.Enabled = false;

            sim_dis = new Classes.Disassembler();
            sim     = new Classes.Simulator();

            //Connect Events
            //Fetch Decode Execute
            sim.Fetched   += new Classes.Simulator.SimulatorCycleHandler(onFetch);
            sim.Decoded   += new Classes.Simulator.SimulatorCycleHandler(onDecode);
            sim.Excecuted += new Classes.Simulator.SimulatorCycleHandler(onExecute);

            //TerminateHEvents
            sim.Terminate_Dropped     += new Classes.Simulator.SimulatorTerminationHandler(sim_Terminate_Dropped);
            sim.Terminate_Successful  += new Classes.Simulator.SimulatorTerminationHandler(sim_Terminate_Success);
            sim.Terminate_UserRequest += new Classes.Simulator.SimulatorTerminationHandler(sim_Terminate_UserRequest);
            sim.Terminate_Error       += new Classes.Simulator.SimulatorTerminationHandler(sim_Terminate_Error);
        }
Пример #2
0
        private void outputToFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            saveFile_Dis.ShowDialog();
            string filename = saveFile_Dis.FileName;

            Classes.Disassembler x = new Classes.Disassembler();
            x.loadMC_fromMem();
            x.Disassemble(0);

            System.IO.StreamWriter file = new System.IO.StreamWriter(filename);
            ulong add;

            file.WriteLine("#####################################");
            file.WriteLine("# Disassembler by Abdulilah Azzazi");
            file.WriteLine("#####################################");
            file.WriteLine("\n\n");
            string r = "";

            file.WriteLine("----------------------------------------");
            file.WriteLine("\tLabel Table:");
            file.WriteLine("----------------------------------------");
            for (int i = 0; i < Classes.Disassembler.LabelTable.Count; i++)
            {
                r += "\nLABEL: " + "L_" + i + "\tAddress: " + Classes.Disassembler.LabelTable["L_" + i];
                file.WriteLine(r);
            }
            file.WriteLine("----------------------------------------");
            for (int i = 0; i < Classes.Disassembler.MachineCodes.Count; i++)
            {
                add = (ulong)(i * 4) + Classes.Mem.startofText;
                file.WriteLine(add + "\t" + Classes.Disassembler.MachineCodes.ElementAt <string>(i) + "\t" + Classes.Disassembler.AssembledLines.ElementAt <string>(i));
            }
            file.WriteLine("\nEND OF FILE");
            //Now open a file stream
            file.Close();
            MessageBox.Show("Output file Generated Successfully!\n FileName:" + filename);
        }
Пример #3
0
 private void outputToEditorToolStripMenuItem_Click(object sender, EventArgs e)
 {
     Classes.Disassembler x = new Classes.Disassembler();
     x.loadMC_fromMem();
     x.Disassemble(1);
 }