.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
[Coursera]计算机组成_Week3_Mips_Q2
最新推荐文章于 2020-12-23 11:29:45 发布