говорят, что у меня есть строка "helloworld", другая строка "_________" и аргумент char "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' в строке. какие-либо предложения, как я могу продолжить?