博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WinMIPS64工具进行MIPS指令集实验(一)
阅读量:4165 次
发布时间:2019-05-26

本文共 1681 字,大约阅读时间需要 5 分钟。

一、安装WinMIPS64

 1、下载WinMIPS64

本来是想传到CSDN上的,传上去之后发现默认需要五个下载积分,找不到更改积分的接口所以链接就不贴上来了。

(1)自行网络下载

(2)百度网盘下载

链接:https://pan.baidu.com/s/1CiYcZfGHOmx1J3cl-q1yrw 

提取码:wkmv 

2、下载后将WinMIPS64解压到自己习惯的软件目录下

例如我习惯将软件放到E盘里,那么我的目录就为:E:\winmips64

其实是无需安装,直接解压就可以使用~

二、使用WinMIPS64

1、打开软件

可以看到软件目录下有这些文件,点击winmips64即可打开WinMIPS模拟器。

WinMIPS64模拟器界面如下所示:

 在模拟器的菜单栏中可以进行一些基础的设置:

这些设置都比较简单,点进去就可以知道里面的含义~

2、测试

例如想测试这样一段C代码:

for(int i=0;i<6;i++) {       a[i] = a[i] + b[i] + c[i];  }

(1)建立一个test.s的文件

test.s:

.data  a: .space 48  b: .word 10,11,12,13,0,1  c: .word 1,2,3,4,5,6  .text ;initialize registers  daddi r1,r0,a  daddi r2,r0,b  daddi r3,r0,c  daddi r4,r0,6  Loop: lw r5,0(r1) ; element of a 	lw r6,0(r2) ; element of b 	lw r7,0(r3) ; element of c          	dadd r8,r5,r6 ; a[i] + b[i]          	dadd r9,r7,r8 ; a[i] = a[i] + b[i] + c[i];            	sw r9,0(r1) ; store value in a[i]            	daddi r1,r1,8 ; increment memory pointers            	daddi r2,r2,8            	daddi r3,r3,8            	daddi r4,r4,-1 ; i++            	bnez r4,Loop              end: halt

将test.s文件保存到winmips64目录下:

2、使用asm.exe来检验输入程序(test.s)的正确性

两种方式运行:

(1)使用Powershell运行检验程序

在winmips64目录下,按住Shift键,然后单击鼠标右键,这时候显示的菜单栏中有一项名为:在此处打开Powershell窗口,点击它就可以进入到Powershell里面。

在Powershell中使用如下命令运行测试:

./asm.exe test.s

运行结果如下:

可以看到检验通过。

(2)cmd运行检验程序

先使用cd命令进入到 E:\winmips64

然后运行asm.exe 

(我用的第一种方式,所以第二种没有测试,无图可贴)

3、将测试程序装载入winmips64模拟器中

使用 file ——> open 打开之前我们编写的test.s

打开后可以看到如下图所示的改变:

4、运行测试

在模拟器的菜单栏中,可以看到 Execute 选项,点击该选项可以看到一些模式:

模式 快捷键
Single Cycle F7
Multi Cycle F8
Run to F4

我们可以直接点击这些选项,或者使用快捷键进行运行~

下图为我 Multi Cycle 运行的结果:

到这里大概了解了winmips64工具的使用,但是到目前为止还不了解这个执行结果的内容,我们要如何解读执行结果等内容我准备放到第二篇中进行讲解~

下一篇:WinMIPS64工具进行MIPS指令集实验(二)

 

转载地址:http://wxhxi.baihongyu.com/

你可能感兴趣的文章
PyMongo基本使用
查看>>
设计模式六大原则(3):依赖倒置原则
查看>>
设计模式六大原则(2):里氏替换原则
查看>>
设计模式六大原则(1):单一职责原则
查看>>
设计模式六大原则(6):开闭原则
查看>>
设计模式六大原则(4):接口隔离原则
查看>>
设计模式六大原则(5):迪米特法则
查看>>
mysql索引与视图【仅提供地址】
查看>>
【MongoDB】Serveral common command of MongoDb
查看>>
【MongoDB】The basic operation of Mongodb, Insert\Query\Delete\Update
查看>>
【MongoDB】The high Query operation of MongoDB(一)
查看>>
【MongoDB】The high query operation of MongoDB(二)
查看>>
【MongoDB】The Regex Expression query of MongoDB
查看>>
软件开发模型【仅提供链接】
查看>>
【MongoDB】The high query operation of MongoDB(三)
查看>>
python中thread的setDaemon、join的用法
查看>>
【MonogoDB】The high update operation of MongoDB
查看>>
MySQL集群简介与配置详解
查看>>
MySQL数据库集群进行正确配置步骤
查看>>
mongodb数据导入导出以及备份恢复
查看>>