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

一、安装WinMIPS64

 1、下载WinMIPS64

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

(1)自行网络下载

(2)百度网盘下载

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

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

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

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

二、使用WinMIPS64

1、打开软件

WinMIPS64工具进行MIPS指令集实验(一)_第1张图片

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

WinMIPS64模拟器界面如下所示:

WinMIPS64工具进行MIPS指令集实验(一)_第2张图片

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

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

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目录下:

WinMIPS64工具进行MIPS指令集实验(一)_第3张图片

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

两种方式运行:

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

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

WinMIPS64工具进行MIPS指令集实验(一)_第4张图片

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

./asm.exe test.s

运行结果如下:

WinMIPS64工具进行MIPS指令集实验(一)_第5张图片

可以看到检验通过。

(2)cmd运行检验程序

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

然后运行asm.exe 

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

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

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

WinMIPS64工具进行MIPS指令集实验(一)_第6张图片

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

WinMIPS64工具进行MIPS指令集实验(一)_第7张图片

4、运行测试

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

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

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

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

WinMIPS64工具进行MIPS指令集实验(一)_第8张图片

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

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

https://blog.csdn.net/SweeNeil/article/details/89468072

 

你可能感兴趣的:(计算机体系结构,MIPS指令集实验)