说我有一个字符串“ helloworld”,另一个字符串“ _________”和参数char“ o” 程序应以正确的索引将第一个字符串的两个o都移动/复制到第二个字符串,即结果为:“ ____ o_o___”。 现在,我确实编写了一段代码,该代码可以找到字符串中的特定字符并给出其索引(请参见下文)。但我不知道从现在开始如何前进。
.data
myString: .asciiz "helloworld"
delim: .byte 'o'
.text
la $s1, myString # load the string
lbu $s2, delim # load the delim (character)
addi $t1, $zero, 0 # initialize counter
find_loop:
lb $t0, ($s1) # load first byte from string
beqz $t0, exit # exit the loop if found NULL
beq $t0, $s2, found # go to "found" if char is found
addi $t0, $t0, 1 # point to next byte
addi $s1, $s1, 1 # increase index of string
addi $t1, $t1, 1 # increment the counter to track the index
j find_loop
found:
move $a0, $t1 # move index of found char to a0 for printing
li $v0, 1
syscall
li $v0, 10
syscall
exit:
li $v0, 10
syscall
此代码返回4,它是字符串中第一个“ o”的索引。有什么建议可以继续吗?