예제 #1
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);
        }
예제 #2
0
 private void outputToEditorToolStripMenuItem_Click(object sender, EventArgs e)
 {
     Classes.Disassembler x = new Classes.Disassembler();
     x.loadMC_fromMem();
     x.Disassemble(1);
 }