话不多说,直接开始,我们这里使用Mars写汇编程序
我们先看看mips的32个寄存器的作用,看不太懂也没关系,用多就熟悉了。
然后对照下面这一张表我们写个小程序 。
我们使用v0寄存器与对应的立即数来进行系统调用。
我们这里先看打印整型数。
寄存器v0=1时是从a0寄存器打印整型数
我们先固定一个框架
.data
#数据部分
.text
#程序代码
.globl main
main:
#这部分相当于主函数
jr $ra #可以大致理解为c语言的return 0
写就完事了
.data
.text
.globl main
main:
li $a0, 5 #put 5 into $a0
li $v0 1
syscall #print $a0
jr $ra
下面写一个打印字符串
str标号的地址放置一个字符串,就是利用.assiiz " "来字符串内容放置
由于str是地址,所以使用la,就是load address的意思
.data
str:
.asciiz "hello world\n"
.text
main:
la $a0,str #put the address of str into $a0
li $v0,4
syscall
jr $ra
最简单的内容输出我们就搞定了