Copiar cadenas de caracteres
Publicado por Sergio (1 intervención) el 22/03/2020 20:36:07
Hola, tengo un problema a la hora de copiar una cadena de caracteres, a otra. El ejercicio planteado es el siguiente:
A partir de la posición de memoria A se tiene almacenada una cadena de caracteres seguida de su terminador de cadena nulo. Escriba un programa en MIPS que copie esa cadena a partir de la posición de
memoria B.
A traves de un código planteado en los apuntes de la asignatura, he escrito el siguiente, pero no realiza lo que necesito y no se cual es el error.
A partir de la posición de memoria A se tiene almacenada una cadena de caracteres seguida de su terminador de cadena nulo. Escriba un programa en MIPS que copie esa cadena a partir de la posición de
memoria B.
A traves de un código planteado en los apuntes de la asignatura, he escrito el siguiente, pero no realiza lo que necesito y no se cual es el error.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.data
A: .asciiz "Hola Mundo DOS"
B: .space 50
.text
la $a0, A
la $a1, B
strcpy:
addi $sp, $sp, -4 # reserva un lugar en la pila
sw $s0, 0($sp) # guarda $s0
add $s0, $zero, $zero # i = 0
L1: add $t1, $s0, $a1 # dirección de y[i] en $t1
lbu $t2, 0($t1) # $t2 = y[i]
add $t3, $s0, $a0 # dirección de x[i] en $t3
sb $t2, 0($t3) # x[i] = y[i]
beq $t2, $zero, L2 # Sale del bucle si y[i] == 0
addi $s0, $s0, 1 # i = i + 1
j L1 # Siguiente iteración
L2: lw $s0, 0($sp) # recupera valor de $s0,
addi $sp, $sp, 4 # libera el lugar de la pila,
jr $ra # y retorna
Valora esta pregunta


0