Source code of MARS Assembler
First commit of the 4.5 version (latest version available)
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package mars.tools;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.EventQueue;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
public class FunctionUnitVisualization extends JFrame {
|
||||
|
||||
private JPanel contentPane;
|
||||
private String instruction;
|
||||
private int register = 1;
|
||||
private int control = 2;
|
||||
private int aluControl = 3;
|
||||
private int alu = 4;
|
||||
private int currentUnit;
|
||||
|
||||
/**
|
||||
* Launch the application.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Create the frame.
|
||||
*/
|
||||
public FunctionUnitVisualization(String instruction, int functionalUnit) {
|
||||
this.instruction = instruction;
|
||||
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setBounds(100, 100, 840, 575);
|
||||
contentPane = new JPanel();
|
||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||
contentPane.setLayout(new BorderLayout(0, 0));
|
||||
setContentPane(contentPane);
|
||||
if(functionalUnit == register){
|
||||
currentUnit = register;
|
||||
UnitAnimation reg = new UnitAnimation(instruction, register);
|
||||
contentPane.add(reg);
|
||||
reg.startAnimation(instruction);
|
||||
}
|
||||
else if(functionalUnit == control){
|
||||
currentUnit = control;
|
||||
UnitAnimation reg = new UnitAnimation(instruction, control);
|
||||
contentPane.add(reg);
|
||||
reg.startAnimation(instruction);
|
||||
}
|
||||
|
||||
else if(functionalUnit == aluControl){
|
||||
currentUnit = aluControl;
|
||||
UnitAnimation reg = new UnitAnimation(instruction, aluControl);
|
||||
contentPane.add(reg);
|
||||
reg.startAnimation(instruction);
|
||||
}
|
||||
|
||||
}
|
||||
public void run() {
|
||||
try {
|
||||
FunctionUnitVisualization frame = new FunctionUnitVisualization(instruction, currentUnit);
|
||||
frame.setVisible(true);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user