您的位置:首页 > 理论基础

[Coursera]计算机组成_Week3_Mips_Q2

2016-03-19 21:51 274 查看
.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: