.data
longitud: .asciiz "La longitud de la cadena introducida es "
caracteres: .asciiz "Los caracteres de la cadena son: n"
cadena: .aciiz "Introduzca la cadena deseada:"
memoria: .byte 32
.text
.globl main
main:
li $v0, 4
la $a0, cadena #imprime la cadena 'cadena'
syscall
move $a0, $v0
la $a1, memoria #reserva 32 bytes de espacio para almacenar cadenas
jal longitud_cadena
move $a0, $t2 #guarda en $a0 la variable 'contadorLetras'
li $v0, 1
syscall
li $v0 , 10 # Finalizar programa
syscall
longitud_cadena:
li $t1, 0 #int i = 0
li $t2, 0 #contadorLetras = 0
bucle:
lw $t0, ($a0) # metemos en $t0 el contenido de la primera posicion de la cadena
beq $t0, 0, finbucle #si la casilla está vacia salimos del bucle
addi $t2, 1 #contadorLetras ++
addi $t1, 1 #i++
addi $a0, 1 #incrementamos el puntero
b bucle
finbucle:
jr $ra