• 大小: 30KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: Java
  • 标签:

资源简介

支持MIPS指令到机器码,机器码到MIPS汇编,以及单步执行、一步执行。

资源截图

代码片段和文件信息

import javax.swing.*;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Vector;
import java.util.concurrent.*;
import java.awt.*;
import java.awt.event.*;

public class mips extends Jframe {
private JButton b1 = new JButton(“AssToDis“);
private JButton b2 = new JButton(“DisToAss“);
private JButton b3 = new JButton(“Step“);
private JButton b4 = new JButton(“RunToEnd“);
private JButton b5 = new JButton(“Reset“);
private JTextArea AssembleText = new JTextArea();
private JTextArea DisAssembleText = new JTextArea();
private JTextArea CurrentInstructionText = new JTextArea();
private ButtonListener bl = new ButtonListener();
private JLabel AssembleLabel = new JLabel(“Assemble Code:“);
private JLabel DisAssembleLabel = new JLabel(“Machine Code:“);
private JLabel RegLabel = new JLabel(“Registers List:“);
private DefaultListModel model = new DefaultListModel();
private JList RegistersList = new JList(model);
private JScrollPane scroll_Ass = new JScrollPane(AssembleText);
private JScrollPane scroll_Dis = new JScrollPane(DisAssembleText);
private JScrollPane scroll_Reg = new JScrollPane(RegistersList); 
private JScrollPane scroll_Code = new JScrollPane(CurrentInstructionText);
private int registers[] = new int[32];
private String R_Type[] = 
{new String(“add“) new String(“addu“) new String(“sub“) new String(“subu“) 
 new String(“and“) new String(“or“) new String(“xor“)   new String(“nor“)
 new String(“slt“) new String(“sltu“)new String(“sll“) new String(“srl“)
 new String(“sra“) new String(“jr“) new String(“sllv“) new String(“srav“)
};
private String J_Type[] = {new String(“j“) new String(“jal“)};
private String I_Type[] = 
{new String(“addi“) new String(“ori“)new String(“lw“) new String(“sw“)
 new String(“beq“)  new String(“bne“)new String(“slti“)new String(“lui“)
 new String(“addiu“) new String(“andi“) new String(“xori“)new String(“sltiu“)
};
private String Pse_Type[]=
{new String(“bgt“)new String(“bge“)new String(“blt“)new String(“ble“)
 new String(“move“)
};
private String RegName[] = 
{new String(“$zero“)new String(“$at“)new String(“$v0“)new String(“$v1“)
 new String(“$a0“) new String(“$a1“) new String(“$a2“)new String(“$a3“)
 new String(“$t0“) new String(“$t1“) new String(“$t2“)new String(“$t3“)
 new String(“$t4“) new String(“$t5“) new String(“$t6“)new String(“$t7“)
 new String(“$s0“) new String(“$s1“) new String(“$s2“)new String(“$s3“)
 new String(“$s4“) new String(“$s5“) new String(“$s6“)new String(“$s7“)
 new String(“$t8“) new String(“$t9“) new String(“$k0“)new String(“$k1“)
 new String(“$gp“) new String(“$sp“) new String(“$fp“)new String(“$ra“)
};

private int PC = 0;
private int[] Registers = new int[32];
private byte[] Stack = new byte[65536]; 
private int CodeLength = 0;
private int FLAG = 0;
private Vector CodeSegment = new Vector();
private HashMap OpCodeMap   = new HashMap();
private HashMap Reg

评论

共有 条评论

相关资源