Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Programación General (http://www.forosdelweb.com/f14/)
-   -   Copiar cadenas en ensamblador (http://www.forosdelweb.com/f14/copiar-cadenas-ensamblador-711603/)

Sherek 20/06/2009 12:53

Copiar cadenas en ensamblador
 
Necesito comprender como hacer eso, he intentado el MOVS, MOVSB, MOVSW i nomas no puedo copiar ni unsa sola cadena, simplemente no lo hace, i creo que el problema es que no comprendo el funcionamiento de estos.

Supongamos que tenemos lo siguiente:

cadena2 db 11 dup('$')
nuevo db "Quiero copiar esta cadena$"

Cual seria la forma correcta de pasar la cadena "nuevo" a la "cadena2"

graxias de antemano

Eternal Idol 22/06/2009 08:44

Respuesta: Copiar cadenas en ensamblador
 
No tenes espacio suficiente para empezar, son mas de 10 caracteres (y el terminador) los necesarios para la segunda cadena pero la logica mas simple es usar movsb :

Asi copias el primer byte de una cadena a otra, esi es es SOURCE y EDI es DESTINATION:

Código:

mov esi, offset nuevo
mov edi, offset cadena2
movsb

Si a eso le sumas el rep y en ecx dejas el numero de caracteres a copiar:
Código:

mov esi, offset nuevo
mov edi, offset cadena2
mov ecx, 10
rep movsb

Referencias:
http://faydoc.tripod.com/cpu/movsb.htm
http://faydoc.tripod.com/cpu/rep.htm

Sherek 22/06/2009 18:41

Respuesta: Copiar cadenas en ensamblador
 
Graxias eternal idol, ia me ha funcionado. Eres bueno :aplauso:

Eternal Idol 23/06/2009 01:51

Respuesta: Copiar cadenas en ensamblador
 
De nadas :cool:


La zona horaria es GMT -6. Ahora son las 07:03.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.