WinMIPS64工具进行MIPS指令集实验(一)

版权声明:本文为博主原创博客,仅提供学习参考,未经博主允许不得转载!欢迎交流讨论~ https://blog.csdn.net/SweeNeil/article/details/89466463

一、安装WinMIPS64

 1、下载WinMIPS64

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

(1)自行网络下载

(2)百度网盘下载

链接:https://pan.baidu.com/s/1CiYcZfGHOmx1J3cl-q1yrw 
提取码:wkmv 

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

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

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

二、使用WinMIPS64

1、打开软件

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

扫描二维码关注公众号,回复: 5982102 查看本文章

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

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

猜你喜欢

转载自blog.csdn.net/SweeNeil/article/details/89466463