codice:
#------------------------------------------------------
# procedura: Create
# parametri:
# $a0 -> stringa utente da allocare
# $v0 -> lunghezza della stringa da allocare
#
# ritorno:
# $v0 -> la stringa dinamica
#
#------------------------------------------------------
Create:
addi $s0, $ra, 0
jal Length
move $t1, $a0 #salvo la stringa
move $t2, $v0 #salvo la lunghezza
#alloca lo spazio in memoria
addi $a0, $t2, 0
li $v0, 9
syscall
li $t0, 0
move $t4, $v0
loop1:
bge $t0, $t2, fineloop1
addu $t0, $t0, 1
lbu $t5, ($t1)
sb $t5, ($t4)
addu $t1, $t1, 1
addu $t4, $t4, 1
j loop1
fineloop1:
addi $v0, $t4, 0
jr $s0
#------------------------------------------------------
Qualcuno sa dirmi come mai questa procedura, che dovrebbe restituirmi una stringa inserita in uno spazio di memoria dinamico, mi restituisce una stringa vuota?