protected void runMIPS() { runner.setRun(true); if (mips.isStopped()) mips.resume(); }
public MIPSGui(MIPS mips) { super("MIPSim"); runner = new MIPSRunner(this, mips); runner.execute(); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(1200, 480); addActionListeners(); this.mips = mips; for (int i = 0; i < 32; i++) { regslabels[i] = new JLabel("R" + i); regs[i] = new JTextField(); regs[i].setEditable(false); } for (int i = 0; i < 5; i++) { memory[i] = new JTextField(); memory[i].setEditable(false); memory[i].setPreferredSize(new Dimension(220, getPreferredSize().height)); instructions[i] = new JTextField(); instructions[i].setEditable(false); } phaseslabels[0] = new JLabel("IF"); phaseslabels[1] = new JLabel("ID"); phaseslabels[2] = new JLabel("EX"); phaseslabels[3] = new JLabel("MEM"); phaseslabels[4] = new JLabel("WB"); pc.setEditable(false); prod.setEditable(false); instcomp.setEditable(false); clkfield.setEditable(false); play.setIcon(new ImageIcon("resources/img/small/Play16.gif")); nextClock.setIcon(new ImageIcon("resources/img/small/StepForward16.gif")); pause.setIcon(new ImageIcon("resources/img/small/Pause16.gif")); try { myPicture = ImageIO.read(new File("resources/img/mipsnormal.png")); } catch (IOException e) { e.printStackTrace(); } piclabel = new JLabel(new ImageIcon(myPicture)); // piclabel.setSize(myPicture.getWidth(),myPicture.getHeight()); piclabel.setPreferredSize(new Dimension(myPicture.getWidth(), myPicture.getHeight())); JPanel buttons = buttonsLayout(); JPanel regs = regsLayout(); JPanel memories = memoriesLayout(); JPanel info = infoLayout(); JPanel instpanel = instLayout(); GroupLayout mainLayout = new GroupLayout(this.getContentPane()); mainLayout.setAutoCreateContainerGaps(true); mainLayout.setAutoCreateGaps(true); mainLayout.setHorizontalGroup( mainLayout .createSequentialGroup() .addGroup( mainLayout .createParallelGroup(GroupLayout.Alignment.CENTER) .addComponent(instpanel) .addComponent(piclabel)) .addGroup( mainLayout .createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(buttons) .addComponent(info) .addComponent(memories) .addComponent(regs))); mainLayout.setVerticalGroup( mainLayout .createParallelGroup(GroupLayout.Alignment.BASELINE) .addGroup( mainLayout.createSequentialGroup().addComponent(instpanel).addComponent(piclabel)) .addGroup( mainLayout .createSequentialGroup() .addComponent(buttons) .addComponent(info) .addComponent(memories) .addComponent(regs))); setLayout(mainLayout); setVisible(true); }
protected void runMIPSStep() { runner.runMIPSStep(); }