Ho eseguito questo codice in due modi; se la stringa è salvata nel data del programma, il programma funziona bene...

Il problema sorge nel momento in cui la stringa è inserita dall'utente...mi conta sempre un carattere in più e non riesco proprio a capire perchè.

Grazie a chi mi risponde...

di seguito il codice:

.data 
	in_string: 		.asciz " Inserisci una frase: "
	dim_string:		.space 25
	null_string: 	.asciz "\n La stringa è vuota!"

.text
.globl _main
_main:
	la a0, in_string
	li a7, 4
	ecall
	
	la a0, dim_string
	li a1, 25
	li a7, 8
	ecall
	
	li t0, 0		# Contantore
loop:
	lb t1, 0(a0)
	beqz t1, fine
	addi t0, t0, 1
	addi a0, a0, 1
	j loop

fine:
# --- Fine del Programma --- #
li a7, 10
ecall