spim模拟器 写一个打印内容到控制台的小程序

话不多说,直接开始,我们这里使用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

最简单的内容输出我们就搞定了 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值