一、个人理解
汇编语言是一类语言的统称,可以细分为:X86,ARM,MIPS等,这一类语言的可移植性相较于C、Python、Java较差,因为每一款类型的Cpu对应的指令集都不同,都我们需要单独去学习。
二、MIPS模拟器下载地址
(1)百度云盘
链接:https://pan.baidu.com/s/1qCmW0XERz2XxsbzEd2vxMw
提取码:nddi
(2)官网下载
三、如何使用MARS
(1)安装
安装JDK,我这边的安装的版本为:java version “1.8.0_331”,JDK安装的具体方法大家可以上网搜索一下,这里不多赘述。
(2)运行MARS
双击即可。
(3)实际效果
四、源码
mips-Sum.asm
li $t1 ,1
li $t2 ,2
add $t0 ,$t2 ,$t1
move $a0 ,$t0
li $v0 ,1
#$vo 1:Int 4:String
#print $a0
syscall
#号为注释
五、代码解释
大家安装完应该可以看到右边的一个寄存器列表
(1)注意事项
存储数值类型时,我们需要用到$t0至$t7。
需要打印数据时,我们需要注意以下几点:
(1)$vo 为1时是打印Int类型数据 ,为4时打印String类型数据。
(2)打印函数只打印$a0中的数据。
(2)语法解释
li $t1 ,1
li $t2 ,2
li是把数据1,2分别放到寄存器$t1、$t2中。
add $t0 ,$t2 ,$t1
add是把寄存器$t1、$t2中的数据加和存放到$t0中。
move $a0 ,$t0
move 方法是把$t0的数移动到$a0
li $v0 ,1
li是把数据1放到寄存器$v0中,为后续打印Int类型数据。
syscall
syscall 方法是打印$a0中的数据
六、运行代码
(1)点到Execute
(2)点Run->Assemble,再点Run I/0
(3)点逐步运行
现在第一行标黄,我们点逐步执行按钮。
现在第二行标黄,我们发现右边$t1变为16进制的1,我们继续点逐步执行按钮。
现在第三行标黄,我们发现右边$t2变为16进制的2,我们继续点逐步执行按钮。
现在第四行标黄,我们发现右边$t0变为16进制的3,它把$t2和$t1的值放到了$t0中,我们继续点逐步执行按钮。
现在第五行标黄,我们发现右边$a0变为16进制的3,我们继续点逐步执行按钮。
现在第六行标黄,我们发现右边$v0变为16进制的1,我们继续点逐步执行按钮。
控制台打印出了3。