Сборка MIPS Скопировать символ строки в новую строку с правильным индексом - PullRequest
0 голосов
/ 29 марта 2019

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

...