Sábado 21 de Diciembre de 2024, 17:12
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
imprimir el tamaño de una cadena
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: imprimir el tamaño de una cadena (Leído 3639 veces)
myste89
Nuevo Miembro
Mensajes: 1
imprimir el tamaño de una cadena
«
en:
Martes 30 de Marzo de 2010, 22:57 »
0
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:
Código: Text
.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
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
Tweet
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: imprimir el tamaño de una cadena
«
Respuesta #1 en:
Miércoles 31 de Marzo de 2010, 16:05 »
0
Es un codigo para procesadores MIPS, no entiendo muy bien la parte del codigo para el
strlen
que tenes:
Si la cadena esta en $a0 no es mas simple hacerlo asi (en $t2 queda el resultado):
Código: Text
lui $t2, 0
nbucle:
lb $t0, 0($a0)
beq $t0,0,longitud
addi $t2,$t2,1
addi $a0,$a0,1
j nbucle
Con el PCSpim se puede ver un bucle infinito ...
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
imprimir el tamaño de una cadena