Пример #1
0
 protected void runMIPS() {
   runner.setRun(true);
   if (mips.isStopped()) mips.resume();
 }
Пример #2
0
  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);
  }
Пример #3
0
 protected void runMIPSStep() {
   runner.runMIPSStep();
 }