3つの引数を取る関数を書く。 $a0
は正の値であり、int
の値であり、$a1
は配列であり、$a3
は配列のサイズです。私は最初の引数を取ってそれを10進数のasciiに変換する必要があります。その数字を配列に格納します。私は変換する数字がなくなるまでこれを続けます。私は最後の配列アドレスと私が格納した最後のASCII値を返さなければなりません(これは$v0
と$v1
に入れます)。私は間違って何をしていますか?mipsを使用して配列にASCII値を格納する方法は?
uitoa:
li $t0 , 0
li $t1 , 10
li $t4 , 48
li $t8 , 0
for :
beq $a0,$t8,finished
div $a0,$t1
mfhi $t2 #remainder
mflo $a0
add $t3,$t2,$t4 # +48 to ascii
add $t6 , $t6 , $a1 #address of array?
sb $t3, 0($t6)
addi $t6,$t6,1 # increment array ?
addi $t0, $t0 ,1
j for
finished:
la $v0 , ($t6)
la $v1 , ($t3)
*行く*間違っている? – RamenChef
それはsb $ t3,0($ t6)のアドレス範囲外です。 –