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