Java MIPS程序集调度
我必须读入汇编文本文件,然后计算MIPS汇编语言程序的调度要求。我能够阅读该文件,但不确定如何安排MIPS的要求。我正在用java编写我的程序 我的日程安排应该基于以下内容:Java MIPS程序集调度,java,mips,Java,Mips,我必须读入汇编文本文件,然后计算MIPS汇编语言程序的调度要求。我能够阅读该文件,但不确定如何安排MIPS的要求。我正在用java编写我的程序 我的日程安排应该基于以下内容: 指令提取(如果): 获取电脑指向的指令,然后通过向电脑添加4来更新电脑(因为所有指令的长度正好为4字节) 指令解码(ID): •解码指令。 •读取寄存器。 •对寄存器内容进行相等性测试。 •通过向递增的PC添加偏移量,计算可能的分支目标地址。 •如果相等性测试为真,且指令解码为分支指令,则将分支目标地址加载到PC中。 请注
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws Exception {
ArrayList<String> file = new ArrayList<String>();
file = getAssembly(read(args[0]));
for (int i = 0; i < file.size(); ++i) {
System.out.println(file.get(i));
}
}
public static ArrayList<String> read(String filepath) throws Exception {
ArrayList<String> result = new ArrayList<String>();
File file = new File(filepath);
BufferedReader br = new BufferedReader(new FileReader(file));
String st = "";
while ((st = br.readLine()) != null) {
result.add(st);
}
br.close();
return result;
}
public static ArrayList<String> getAssembly(ArrayList<String> input){
ArrayList<String> result = new ArrayList<String>();
for (int i = 0; i < input.size(); ++i) {
if (!input.get(i).contains(".") || input.get(i).contains("#") || input.get(i).contains("\t")) {
result.add(input.get(i));
}
}
return result;
}
}
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileReader;
导入java.util.ArrayList;
公共班机{
公共静态void main(字符串[]args)引发异常{
ArrayList文件=新的ArrayList();
file=getAssembly(读取(args[0]);
对于(int i=0;i
像这样。。。这是什么?“this”应该是指向示例的链接吗?我想在编译代码后使我的输出看起来像这样。很抱歉,我找到了指向输出示例的链接列表右侧的5列是计划?这五列中的数字代表什么?这些都是IF、ID、EX、MEM和WB为每条指令运行的时间。