[O] Reformat code

This commit is contained in:
Hykilpikonna
2022-11-09 23:49:19 -05:00
parent 13c408bbdd
commit 64d4d49bdb
217 changed files with 53970 additions and 46112 deletions
+103 -81
View File
@@ -1,10 +1,13 @@
package mars.venus;
import mars.*;
import mars.simulator.*;
import mars.mips.hardware.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
package mars.venus;
import mars.Globals;
import mars.ProcessingException;
import mars.mips.hardware.RegisterFile;
import mars.simulator.ProgramArgumentList;
import mars.simulator.Simulator;
import javax.swing.*;
import java.awt.event.ActionEvent;
/*
Copyright (c) 2003-2006, Pete Sanderson and Kenneth Vollmar
@@ -33,95 +36,114 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(MIT license, http://www.opensource.org/licenses/mit-license.html)
*/
/**
* Action for the Run -> Step menu item
*/
public class RunStepAction extends GuiAction
{
String name;
ExecutePane executePane;
public RunStepAction(String name, Icon icon, String descrip,
Integer mnemonic, KeyStroke accel, VenusUI gui)
{
super(name, icon, descrip, mnemonic, accel, gui);
}
/**
* Action for the Run -> Step menu item
*/
public class RunStepAction extends GuiAction {
String name;
ExecutePane executePane;
public RunStepAction(String name, Icon icon, String descrip,
Integer mnemonic, KeyStroke accel, VenusUI gui) {
super(name, icon, descrip, mnemonic, accel, gui);
}
/**
* perform next simulated instruction step.
*/
public void actionPerformed(ActionEvent e){
name = this.getValue(Action.NAME).toString();
executePane = mainUI.getMainPane().getExecutePane();
boolean done = false;
if(FileStatus.isAssembled()){
if (!mainUI.getStarted()) { // DPS 17-July-2008
processProgramArgumentsIfAny();
}
mainUI.setStarted(true);
* perform next simulated instruction step.
*/
public void actionPerformed(ActionEvent e)
{
name = this.getValue(Action.NAME).toString();
executePane = mainUI.getMainPane().getExecutePane();
boolean done = false;
if (FileStatus.isAssembled())
{
if (!VenusUI.getStarted())
{ // DPS 17-July-2008
processProgramArgumentsIfAny();
}
VenusUI.setStarted(true);
mainUI.messagesPane.setSelectedComponent(mainUI.messagesPane.runTab);
executePane.getTextSegmentWindow().setCodeHighlighting(true);
try {
done = Globals.program.simulateStepAtPC(this);
}
catch (ProcessingException ev) {}
}
else{
try
{
done = Globals.program.simulateStepAtPC(this);
}
catch (ProcessingException ev)
{
}
}
else
{
// note: this should never occur since "Step" is only enabled after successful assembly.
JOptionPane.showMessageDialog(mainUI,"The program must be assembled before it can be run.");
}
}
// When step is completed, control returns here (from execution thread, indirectly)
// to update the GUI.
public void stepped(boolean done, int reason, ProcessingException pe) {
executePane.getRegistersWindow().updateRegisters();
executePane.getCoprocessor1Window().updateRegisters();
executePane.getCoprocessor0Window().updateRegisters();
executePane.getDataSegmentWindow().updateValues();
if (!done) {
JOptionPane.showMessageDialog(mainUI, "The program must be assembled before it can be run.");
}
}
// When step is completed, control returns here (from execution thread, indirectly)
// to update the GUI.
public void stepped(boolean done, int reason, ProcessingException pe)
{
executePane.getRegistersWindow().updateRegisters();
executePane.getCoprocessor1Window().updateRegisters();
executePane.getCoprocessor0Window().updateRegisters();
executePane.getDataSegmentWindow().updateValues();
if (!done)
{
executePane.getTextSegmentWindow().highlightStepAtPC();
FileStatus.set(FileStatus.RUNNABLE);
}
if (done) {
}
if (done)
{
RunGoAction.resetMaxSteps();
executePane.getTextSegmentWindow().unhighlightAllSteps();
FileStatus.set(FileStatus.TERMINATED);
}
if (done && pe == null) {
}
if (done && pe == null)
{
mainUI.getMessagesPane().postMarsMessage(
"\n"+name+": execution "+
((reason==Simulator.CLIFF_TERMINATION) ? "terminated due to null instruction."
: "completed successfully.")+"\n\n");
"\n" + name + ": execution " +
((reason == Simulator.CLIFF_TERMINATION) ? "terminated due to null instruction."
: "completed successfully.") + "\n\n");
mainUI.getMessagesPane().postRunMessage(
"\n-- program is finished running "+
((reason==Simulator.CLIFF_TERMINATION)? "(dropped off bottom)" : "") +" --\n\n");
"\n-- program is finished running " +
((reason == Simulator.CLIFF_TERMINATION) ? "(dropped off bottom)" : "") + " --\n\n");
mainUI.getMessagesPane().selectRunMessageTab();
}
if (pe !=null) {
}
if (pe != null)
{
RunGoAction.resetMaxSteps();
mainUI.getMessagesPane().postMarsMessage(
pe.errors().generateErrorReport());
pe.errors().generateErrorReport());
mainUI.getMessagesPane().postMarsMessage(
"\n"+name+": execution terminated with errors.\n\n");
"\n" + name + ": execution terminated with errors.\n\n");
mainUI.getRegistersPane().setSelectedComponent(executePane.getCoprocessor0Window());
FileStatus.set(FileStatus.TERMINATED); // should be redundant.
executePane.getTextSegmentWindow().setCodeHighlighting(true);
executePane.getTextSegmentWindow().unhighlightAllSteps();
executePane.getTextSegmentWindow().highlightStepAtAddress(RegisterFile.getProgramCounter()-4);
}
mainUI.setReset(false);
}
////////////////////////////////////////////////////////////////////////////////////
// Method to store any program arguments into MIPS memory and registers before
// execution begins. Arguments go into the gap between $sp and kernel memory.
// Argument pointers and count go into runtime stack and $sp is adjusted accordingly.
// $a0 gets argument count (argc), $a1 gets stack address of first arg pointer (argv).
private void processProgramArgumentsIfAny() {
String programArguments = executePane.getTextSegmentWindow().getProgramArguments();
if (programArguments == null || programArguments.length() == 0 ||
!Globals.getSettings().getProgramArguments()) {
executePane.getTextSegmentWindow().setCodeHighlighting(true);
executePane.getTextSegmentWindow().unhighlightAllSteps();
executePane.getTextSegmentWindow().highlightStepAtAddress(RegisterFile.getProgramCounter() - 4);
}
VenusUI.setReset(false);
}
////////////////////////////////////////////////////////////////////////////////////
// Method to store any program arguments into MIPS memory and registers before
// execution begins. Arguments go into the gap between $sp and kernel memory.
// Argument pointers and count go into runtime stack and $sp is adjusted accordingly.
// $a0 gets argument count (argc), $a1 gets stack address of first arg pointer (argv).
private void processProgramArgumentsIfAny()
{
String programArguments = executePane.getTextSegmentWindow().getProgramArguments();
if (programArguments == null || programArguments.length() == 0 ||
!Globals.getSettings().getProgramArguments())
{
return;
}
new ProgramArgumentList(programArguments).storeProgramArguments();
}
}
}
new ProgramArgumentList(programArguments).storeProgramArguments();
}
}