Я не верю, что предоставленный вами код является правильным, но если предположить, что это так, вы бы сделали что-то вроде этого:
xor $t1, $t1, $t1 ; Zero out $t1
lw $t2, array_length ; Load the length of the array in $t2
loop_start:
lb $t3, $s0 ; Load the next byte from $s0 into $t3
sb $t3, $t0 ; Store the by in $t3 into $t0
addi $s0, $s0, 1 ; Move to the next byte in the source
addi $t0, $t0, 1 ; Move to the next byte in the destination
addi $t1, $t1, 1 ; increment the counter
blt $t1, $t2, loop_start ; Jump to the start of the loop of there are more bytes
Отказ от ответственности: я не программировал в MIPS с тех пор, как поступил в колледж, поэтому этот код можетне будьте на 100% точными, но я верю, что это даст вам возможность начать.