Skip to content

Latest commit

 

History

History
92 lines (49 loc) · 3.75 KB

README.md

File metadata and controls

92 lines (49 loc) · 3.75 KB

MIPS 汇编语言编辑器及开发平台

本程序为浙江大学计算机学院计算机组成课程开发,是此课程的一个小作业。

如果发现了软件存在的Bug,请在本项目地址提issue或联系我的邮箱:alanshawzju@gmail.com,本人将十分感谢。


2018.5.6日更新

上传了全部源代码,可以自行编译运行。

修复了反汇编中R型指令的重大bug。


2018.4.27日更新

弃坑许久的MiniMIPS终于更新啦~最近两天好不容易忙完了大部分ddl,想起mips作业截止日期也快到了,于是(可能是最后)更新一波,同时添加了macos预编译包,现在人见人爱的mips也可以在Mac上流畅运行啦~

新版增加的功能

  1. 支持反汇编功能,支持自动生成跳转指令的label,可以从bin和coe文件中加载。
  2. 支持更多的mips指令,现在可支持近200条mips指令及伪指令(伪指令格式参照spim模拟器,或见《计算机组成与设计》附录A10。
  3. 添加为macOS Retina专门优化的macOS预编译包,现在可以在mac上直接运行了~
  4. 经sqs老师提醒,debug功能添加了十六进制显示模式(方便与七段码显示进行比较),可以在菜单中自由选择是二进制显示还是十六进制显示。
  5. 感谢mwh同学的提醒,修复了在汇编功能中一些指令无法正确解析的bug。
  6. 更新了配色方案,现在更加明亮了~

软件截图

mac1 全屏模式:

mac2


Windows Shortcut:

这是一个耗时不到五天的速成品,白天还在上课,难免有很多问题,为此不对程序的有效性做任何担保。

本程序前端采用QT5.10集成开发环境编写,开发语言采用了python3.7。开源代码将在4.30号作业截止日期到达后放在本项目上。

主要功能·亮点

代码编辑功能

  • 专为MIPS语言定制的代码高亮显示,行号显示,字体定制。采用仿monokai配色方案,后续将会加入更多的配色。

  • 默认有三个窗口:代码编辑窗口,输出窗口和 debug窗口,三个窗口都可以通过拖拽边栏来更改相对大小,也可以拖拽到头来隐藏某个窗口,十分便捷。

  • 支持直接推拽进程序窗口加载代码、快速查找,支持基本的代码编辑功能。

  • 支持高分辨率显示屏,动态DPI缩放,全屏显示等等。

  • 支持更改字体大小、类型甚至是颜色,会自动保存用户的上次打开时的配置,不用每次打开都更改方案,支持一键恢复默认的字体配置,默认字体为source code pro字体,已经随程序默认打包,无需自行下载。

  • 代码打包成一个可执行程序文件,已经打包好所有的支持库,在目标平台上可以直接运行,无需任何依赖库。

汇编功能

  • 支持基本的MIPS指令转换为机器码的功能,可选的保存格式为coe格式和二进制bin格式。
  • 支持Debug功能,并提供debug窗口,实时显示机器码结果。
  • 较为完善的错误检查和处理机制,各个子模块错误层级上报。即使遇到未定义的错误,程序也会将错误发生的行号以及相应的python exception内容打印到output窗口,方便纠错。
  • 支持MIPS的一百余条指令以及伪指令,指令格式主要参考:《计算机组成与设计:硬件、软件接口》以及《MIPS32® Architecture For Programmers Volume II: The MIPS32® Instruction Set》

后续功能

将在之后(可能)加入如下更多功能:

  • 支持从coe和bin文件的反汇编功能(一定会加)
  • 自定义代码配色
  • 加入更多的代码配色方案
  • 修补各种bug

版权所有