Buonasera a tutti, il problema è questo: inserita una stringa dall'utente devo contarne i caratteri, solo che la traccia chiede anche di non fare distinzione tra maiuscole e minuscole. Ho pensato di rendere tutto minuscolo (frase e char da ricercare) e poi effettuare il confronto.
Vi posto solo la porzione di codice che non funziona:
# Conversione della stringa
str_conversion:
lb t6, 0(t5)
beqz t6, loop
ori t6, t6, 32
addi t5, t5, 1
j str_conversion
loop:
la a0, prompt_char
li a7, 4
ecall
li a7, 12
ecall
# Conversione del char
ori a0, a0, 0x20 # Se il char inserito è maiuscolo, lo converto in minuscolo
mv t0, a0 # Salva il carattere inserito nel registro t0
li t1, 32 # Carattere terminatore nel caso in cui l'utente prema lo spazio (in ASCII 32)
beq t0, t1, end # Se t0 = t1 (che rappresenta 32), salta alla fine
jal ra, conta_occorrenze # Salta alla funzione
Se inserisco una frase tutta in maiuscolo, il conteggio non viene fatto e mi restituisce sempre 0.