SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: teremot en Jueves 6 de Marzo de 2008, 07:52

Título: Escribir Y Leer Memoria !!!
Publicado por: teremot en Jueves 6 de Marzo de 2008, 07:52
saludos

como puedo hacer dos programas por separado, el 1ro que escriba en memoria un texto que yo defina (en un lugar de memoria que yo sepa), y un 2do programa que lea el texto guardado en la memoria por el 1er programa???

fui claro en lo que quiero??

gracias de antemano!!! :)

P.D. Soy novato programando asm :(
Título: Re: Escribir Y Leer Memoria !!!
Publicado por: Eternal Idol en Jueves 6 de Marzo de 2008, 08:08
¿Para que S.O.?
Título: Re: Escribir Y Leer Memoria !!!
Publicado por: teremot en Jueves 6 de Marzo de 2008, 18:23
los programas deberian correr bajo ms-dos, y es utulizando NASM.

no se si te respondi tu pregunta??? :blink:
Título: Re: Escribir Y Leer Memoria !!!
Publicado por: Eternal Idol en Jueves 6 de Marzo de 2008, 19:48
OK pero vas a necesitar un MS-DOS REAL (no sirve una consola de Windows) para probarlo. Yo lo acabo de hacer en 10' con MASM y lo pobre con una maquina virtual (VirtualPC).

Lo que hice fue para el primer programa escribir en una direccion que se me ocurrio (0666h:0150h) una cadena (usando rep movsb). En el segundo simplemente uso el servicio 09h de la interrupcion 21h para mostrar esa cadena en pantalla.
Título: Re: Escribir Y Leer Memoria !!!
Publicado por: teremot en Jueves 6 de Marzo de 2008, 20:00
Muchas gracias por la respuesta, fue muy satisfactoria.

tengo otra duda con el 2do programa (el que lee), como yo apunto a la direccion de memoria que yo eleji para leer con el servivio 09h??, si pudieras poner algun ejemplo con el codigo te lo agradeceria.

disculpame las molestias!!  :P
Título: Re: Escribir Y Leer Memoria !!!
Publicado por: Eternal Idol en Jueves 6 de Marzo de 2008, 20:13
En DS:DX se pasa la cadena a ese servicio:
http://www.ctyme.com/intr/rb-2562.htm (http://www.ctyme.com/intr/rb-2562.htm)

Entonces solo tenes que pasarle el valor donde comienzan la cadena escrita por el otro programa en esos registros:

Código: Text
  1.  
  2. mov dx, 0150h&#59;dx es 0150h
  3. mov ax, 0666h
  4. push ax
  5. pop ds&#59;ds es 0666h
  6.  
  7.  
Título: Re: Escribir Y Leer Memoria !!!
Publicado por: teremot en Viernes 7 de Marzo de 2008, 03:13
Gracias por la respuesta !!! :lol:
Título: Re: Escribir Y Leer Memoria !!!
Publicado por: Eternal Idol en Viernes 7 de Marzo de 2008, 08:05
De nadas  B)