我正在寫一個帶三個參數的函數。 $a0
是一個正數int
值,而$a1
是一個數組,$a3
是數組大小。我必須採取第一個參數並將其轉換爲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) –