java - 在 Java/C/C++ 中创建 MIPS 机器

标签 java c++ c mips

大家好,我正在上汇编语言和计算机组织类(class)。最近我接到一项任务,要求我创建一个程序,该程序用 Java、C 或 C++ 模拟 MIPS 机器。

程序从 ASM 文件中读取十六进制并将行存储在数组中。然后它应该模拟 MIPS 机器。

我一直在四处寻找,但不知道如何开始。有没有人有一些想法甚至伪代码让我走上正确的道路?

要读取的文件示例:

24080019
2409001e
240a0023
01094020
010a4020
00082021

如果有人能让我走上正确的道路,那就太好了,谢谢!

最佳答案

您需要做的第一件事就是学会破译这些指令。

看起来它们是 8 个十六进制数字。这很好,因为 MIPS 指令是 32 位长。 (当然,十六进制数字是 4 位。)

因此文件中的每一行对应一条指令。

查看此处的说明格式:http://www.d.umn.edu/~gshute/spimsal/talref.html

您需要跟踪机器内部的一些寄存器。 (你知道 MIPS 寄存器是什么,对吧?)

然后您需要确定操作的作用以及它们影响的寄存器。

关于java - 在 Java/C/C++ 中创建 MIPS 机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5454422/

相关文章:

java - 是否可以在没有 JNDI 的情况下将 HornetQ 用作 bean(即使它在某种抽象之后)...?

java - 如何对列表进行排序,并在末尾添加另一个列表中的数据?

C++ 打印到终端会显着减慢代码速度吗?

c++ - 简单的 GLFW 卡住(像疯了似的思考,没有停止)

c++ - 如何纠正对运算符优先级的错误假设以消除代码的副作用?

c++ - 跟踪/查找对 printf 或 cout 的调用的快速方法(长期丢失的调试输出)

java - Gui 用于调试比较并行文件中的大型 Java 对象集合。

java - 枚举类型引用或原始类型(带有示例)- 浅/深复制

c++ - 如何在 SFML C++ 中传递图像

c - 窗口退出时如何连接函数?