[Coursera]计算机组成_Week3_Mips_Q2

.data                  #数据段
sentence:.byte 0:100        
size: .word  100
found:.asciiz "\nSuccess! Location: "
notfound:.asciiz "\nFail!\n"

.text                  #代码段
li $s1,'\n'
la $a0,sentence
la $a1,size
lw $a1,0($a1)

li $v0,8  		#读入字符串,存在a0所指的地址处,长度存在a1
syscall
read:
li $v0,12 		#读入字符,存在v0所指的地址处
syscall

beq $v0,'?' end		#输入终止符后退出

li $t1,0
lb $s3,sentence($t1) 

loop:
addi $t1,$t1,1	
beq $v0,$s3,success  	#如果找到了,输出
lb $s3,sentence($t1)
beq $s1,$s3,failure
j loop

success:		#找到了该字符
	#xxxxxxxxxx
	la $a0,found
	li $v0,4
	syscall
	
	move $a0,$t1	#输出当前所在位置
	li $v0,1
	syscall
	
	li $a0,'\n'	#输出回车
	li $v0,11
	syscall
	
	j read
	
failure:		#没有找到该字符
	la $a0,notfound
	li $v0,4
	syscall
	j read
	
end:			#结束程序
li $v0,10
syscall

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值