Hola, soy nueva en el foro... y también soy bastante novata con la programación en ensamblador.... os cuento: tengo que hacer un programa que lea por teclado una cadena y que imprima por pantalla el tamaño de la cadena. Luego tiene que hacer otras cosas, pero empiezo por el principio...
no sé como haceis eso de meter el código en un cuadro asi que lo pego directamente:
.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
Me podeis echar una mano?? Gracias