Ciao a tutti,
vorrei chiedervi se gentilmente poteste dirmi cosa sbaglio in questo codice, visto che non riesco proprio a capire dove sia il problema.
Il programma in questione dati un array di caratteri deve contare e alla fine stampare quante volte una determinata lettera appare.
L'emulatore che uso è spim.
Graziecodice:# Il programma deve, data una stringa di n caratteri contare il numero di occorrenze # di una determinata lettera .data stringa: .asciiz "ciao a tutti" #13 char car: .ascii "t" .text .globl main main: li $t0, 12 # numero di caratteri della stringa, terminatore escluso la $t1,stringa la $t2,car lb $t1,($t1) # t1 contiene il primo carattere della stringa lb $t2,($t2) # t2 contiene il carattere da cercare li $a0, 0 # contatore while: bgt $t0,0,stampa_risultato #controllo in testa beq $t1,$t2,contatore torna_while: sub $t0,$t0,1 # decremento il contatore di 1 add $t1,$t1,1 # punto al successivo carattere della stringa j while esci: li $v0,10 syscall contatore: add $a0,$a0,1 j torna_while stampa_risultato: li $v0,1 syscall j esci

Rispondi quotando