资源简介
1、 将指令存储器和数据存储器分开,指令存储器的地址总线和数据总线宽度均为16位,数据存储器的地址总线宽度为16位,数据总线宽度为8位。
2、 CPU使用流水线技术,流水级数为5级,分别是:取指、译码、执行、访存、写回。
3、 输入要求:模拟器从文件test.data读入汇编执行,先将汇编编译成二进制。
4、 输出要求:模拟器用txt文件记录每一个周期CPU主要寄存器的值,总线数值,程序执行完毕后,用txt文件记录数据存储器的内容。记录数据时要注意对齐。同时界面显示。
代码片段和文件信息
package KeyboardFileInput;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.Integer;
public class FileInput extends Jframe
implements ActionListener {
static String fileName_in=null;
//输入文本路径
static String Bin[];
//接收从文本的输入内容
static String[] d_H=new String[8];
//字符分割数组
static String mu=null;
//相乘结果
static String su=null;
//相减结果
static String ad=null;
//相乘结果
static TextField t_B1=new TextField();
//文本输入框
static TextField t_B2=new TextField();
//文本输入框
static TextField t_B3=new TextField();
//文本输入框
static TextField t_B4=new TextField();
//文本输入框
static TextField t_B5=new TextField();
//文本输入框
static TextField t_B6=new TextField();
//文本输入框
static TextField t_B7=new TextField();
//文本输入框
static TextField t_B8=new TextField();
//文本输入框
TextField t_H=new TextField();
//文本输入框
TextField t_H2=new TextField();
//文本输入框
TextField t_D=new TextField();
//文本输入框
TextField t_D2=new TextField();
//文本输入框
TextField t_IN=new TextField();
//文本输入框
TextField t_OUT=new TextField();
//文本输入框
TextField t_e1=new TextField();
//文本输入框
TextField t_e2=new TextField();
//文本输入框
TextField t_e3=new TextField();
//文本输入框
TextField t_e4=new TextField();
//文本输入框
Label l_B=new Label(“二进制:“);
//二进制标志
Label l_H=new Label(“十六进制:“);
//十六进制标志
Label l_D=new Label(“十进制:“);
//十进制标志
Label l_IN=new Label(“请输入目标文件路径与名称:“);
//输入路径
Label l_OUT=new Label(“请输入输出文件路径与名称:“);
//输出路径
Button b_H=new Button(“转换十六进制“);
//转换按钮
Button b_D=new Button(“转换十进制“);
//转换按钮
Button b_IN=new Button(“确定“);
//输入按钮
Button b_OUT=new Button(“确定“);
//输出按钮
Button b_Add=new Button(“Add“);
//相加按钮
Button b_Sub=new Button(“Sub“);
//相减按钮
Button b_Mul=new Button(“Mul“);
//相乘按钮
public FileInput()
{
this.settitle(“CPU“);
//文本名称
this.setLayout(null);
//界面布局
//界面添加控件
//文本输入框控件
this.add(t_B1);
this.add(t_B2);
this.add(t_B3);
this.add(t_B4);
this.add(t_B5);
this.add(t_B6);
this.add(t_B7);
this.add(t_B8);
this.add(t_H);
this.add(t_D);
this.add(t_IN);
this.add(t_OUT);
this.add(t_H2);
this.add(t_D2);
this.add(t_e1);
this.add(t_e2);
this.add(t_e3);
this.add(t_e4);
//标志控件
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14206 2018-07-02 10:32 新建文件夹 (7)\FileInput.java
文件 14237 2018-07-02 20:58 新建文件夹 (7)\代码实现.txt
文件 400679 2020-07-17 16:49 新建文件夹 (7)\计算机组成原理课设.docx
目录 0 2020-07-17 16:50 新建文件夹 (7)
----------- --------- ---------- ----- ----
429122 4
- 上一篇:STM32下MCP2515驱动
- 下一篇:DW_apb_i2c 驱动
评论
共有 条评论