private void AssembleButton_Click(object sender, EventArgs e) { if (SourceFilePathTextBox.Text == string.Empty) { SaveFileDialog.Filter = "asm file (*.asm)|*.asm"; SaveFileDialog.FileName = ""; if (SaveFileDialog.ShowDialog() == DialogResult.OK) { sourcepath = SaveFileDialog.FileName; SourceFilePathTextBox.Text = sourcepath; } } StreamWriter sw = new StreamWriter(sourcepath, false); for (int i = 0; i < SourceRichTextBox.Lines.Length; i++) { sw.WriteLine(SourceRichTextBox.Lines[i]); } sw.Close(); OutputRichTextBox.Text = ""; int[] intarray = new int [1]; MIPS246.Core.Assembler.Assembler assembler = new MIPS246.Core.Assembler.Assembler(sourcepath, outputpath); if (assembler.DoAssemble() == true) { for (int i = 0; i < assembler.CodeList.Count; i++) { assembler.CodeList[i].Machine_Code.CopyTo(intarray, 0); if (HEXRadioButton.Checked == false) { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t" + string.Format("{0:x}", Convert.ToString(intarray[0], 2)).PadLeft(32, '0') + "\r\n"; } else { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t" + "0x" + string.Format("{0:x}", Convert.ToString(intarray[0], 16)).PadLeft(8, '0') + "\r\n"; } } if (isOutputFile == true) { assembler.Output(isOutputCOE, outputpath, false); } } else { OutputRichTextBox.Text = assembler.Error.ToString(); } }
public static string SaveTargetCode(string sourceCode, string displayFormat, string outputFormat) { string output = ""; string fileName = Guid.NewGuid().ToString(); bool isHEX; MIPS246.Core.Assembler.Assembler assembler = new MIPS246.Core.Assembler.Assembler(sourceCode); if (outputFormat == "BIN") { isHEX = false; } else { isHEX = true; } if (assembler.DoAssemble() == true) { if (outputFormat == "TXT") { fileName += ".txt"; assembler.Output(false, HttpContext.Current.Server.MapPath("~") + "/AssemblerOutput/" + fileName, isHEX); } else { fileName += ".coe"; assembler.Output(true, HttpContext.Current.Server.MapPath("~") + "/AssemblerOutput/" + fileName, isHEX); } } else { output = assembler.Error.ToString(); } return(fileName); }
private void AssembleButton_Click(object sender, EventArgs e) { if (SourceFilePathTextBox.Text == string.Empty) { SaveFileDialog.Filter = "asm file (*.asm)|*.asm"; SaveFileDialog.FileName = ""; if (SaveFileDialog.ShowDialog() == DialogResult.OK) { sourcepath = SaveFileDialog.FileName; SourceFilePathTextBox.Text = sourcepath; } } StreamWriter sw = new StreamWriter(sourcepath, false); for (int i = 0; i < SourceRichTextBox.Lines.Length; i++) { sw.WriteLine(SourceRichTextBox.Lines[i]); } sw.Close(); OutputRichTextBox.Text = ""; int[] intarray=new int [1]; MIPS246.Core.Assembler.Assembler assembler = new MIPS246.Core.Assembler.Assembler(sourcepath, outputpath); if (assembler.DoAssemble() == true) { for (int i = 0; i < assembler.CodeList.Count; i++) { assembler.CodeList[i].Machine_Code.CopyTo(intarray,0); if (HEXRadioButton.Checked == false) { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t" + string.Format("{0:x}", Convert.ToString(intarray[0], 2)).PadLeft(32, '0') + "\r\n"; } else { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t" + "0x" + string.Format("{0:x}", Convert.ToString(intarray[0], 16)).PadLeft(8, '0') + "\r\n"; } } if (isOutputFile == true) { assembler.Output(isOutputCOE, outputpath, false); } } else { OutputRichTextBox.Text = assembler.Error.ToString(); } }
private void OutputFileButton_Click(object sender, EventArgs e) { SaveFileDialog.Filter = "Text file (*.txt)|*.txt|Coe File (*.coe)|*.coe"; SaveFileDialog.FileName = defaultFileName; if (SaveFileDialog.ShowDialog() == DialogResult.OK) { OutputPathTextBox.Text = SaveFileDialog.FileName; AssembleButton_Click(null, null); if (Path.GetExtension(SaveFileDialog.FileName) == ".coe") { isOutputCOE = true; } else { isOutputCOE = false; } outputpath = SaveFileDialog.FileName; } else { OutputPathTextBox.Text = string.Empty; } if (OutputPathTextBox.Text == string.Empty) { return; } else { outputpath = OutputPathTextBox.Text; if (isOutputFile == true) { assembler.Output(isOutputCOE, outputpath, HEXRadioButton.Checked); } } }
private void AssembleButton_Click(object sender, EventArgs e) { if (SourceFilePathTextBox.Text == string.Empty) { SaveFileDialog.Filter = "asm file (*.asm)|*.asm"; SaveFileDialog.FileName = ""; if (SaveFileDialog.ShowDialog() == DialogResult.OK) { sourcepath = SaveFileDialog.FileName; SourceFilePathTextBox.Text = sourcepath; } else { sourcepath = @"c:\windows\temp\temp.asm"; SourceFilePathTextBox.Text = sourcepath; } } StreamWriter sw = new StreamWriter(sourcepath, false); for (int i = 0; i < SourceRichTextBox.Lines.Length; i++) { sw.WriteLine(SourceRichTextBox.Lines[i]); } sw.Close(); OutputRichTextBox.Text = ""; bool[] boolArray = new bool[32]; outputpath = OutputPathTextBox.Text; assembler = new MIPS246.Core.Assembler.Assembler(sourcepath, outputpath); if (assembler.DoAssemble() == true) { for (int i = 0; i < assembler.CodeList.Count; i++) { assembler.CodeList[i].Machine_Code.CopyTo(boolArray,0); if (HEXRadioButton.Checked == false) { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t"; for (int j = 0; j < 32; j++) { if (boolArray[j] == true) { OutputRichTextBox.Text += "1"; } else { OutputRichTextBox.Text += "0"; } } OutputRichTextBox.Text += "\r\n"; } else { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t"; OutputRichTextBox.Text += FormatHex(boolArray); OutputRichTextBox.Text += "\r\n"; } } if (isOutputFile == true) { assembler.Output(isOutputCOE, outputpath, HEXRadioButton.Checked); } } else { OutputRichTextBox.Text = assembler.Error.ToString(); } }
private void AssembleButton_Click(object sender, EventArgs e) { if (SourceFilePathTextBox.Text == string.Empty) { SaveFileDialog.Filter = "asm file (*.asm)|*.asm"; SaveFileDialog.FileName = ""; if (SaveFileDialog.ShowDialog() == DialogResult.OK) { sourcepath = SaveFileDialog.FileName; SourceFilePathTextBox.Text = sourcepath; } else { sourcepath = @"c:\windows\temp\temp.asm"; SourceFilePathTextBox.Text = sourcepath; } } StreamWriter sw = new StreamWriter(sourcepath, false); for (int i = 0; i < SourceRichTextBox.Lines.Length; i++) { sw.WriteLine(SourceRichTextBox.Lines[i]); } sw.Close(); OutputRichTextBox.Text = ""; bool[] boolArray = new bool[32]; outputpath = OutputPathTextBox.Text; assembler = new MIPS246.Core.Assembler.Assembler(sourcepath, outputpath); if (assembler.DoAssemble() == true) { for (int i = 0; i < assembler.CodeList.Count; i++) { assembler.CodeList[i].Machine_Code.CopyTo(boolArray, 0); if (HEXRadioButton.Checked == false) { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t"; for (int j = 0; j < 32; j++) { if (boolArray[j] == true) { OutputRichTextBox.Text += "1"; } else { OutputRichTextBox.Text += "0"; } } OutputRichTextBox.Text += "\r\n"; } else { OutputRichTextBox.Text += "0x" + String.Format("{0:X8}", assembler.CodeList[i].Address) + ":\t"; OutputRichTextBox.Text += FormatHex(boolArray); OutputRichTextBox.Text += "\r\n"; } } if (isOutputFile == true) { assembler.Output(isOutputCOE, outputpath, HEXRadioButton.Checked); } } else { OutputRichTextBox.Text = assembler.Error.ToString(); } }
public static string SaveTargetCode(string sourceCode, string displayFormat, string outputFormat) { string output = ""; string fileName = Guid.NewGuid().ToString(); bool isHEX; MIPS246.Core.Assembler.Assembler assembler = new MIPS246.Core.Assembler.Assembler(sourceCode); if(outputFormat=="BIN") { isHEX=false; } else { isHEX=true; } if (assembler.DoAssemble() == true) { if (outputFormat == "TXT") { fileName += ".txt"; assembler.Output(false, HttpContext.Current.Server.MapPath("~") + "/AssemblerOutput/" + fileName, isHEX); } else { fileName += ".coe"; assembler.Output(true, HttpContext.Current.Server.MapPath("~") + "/AssemblerOutput/" + fileName, isHEX); } } else { output = assembler.Error.ToString(); } return fileName; }