Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: Hipeople en 7 Junio 2009, 16:39 pm



Título: Duda de implementación en lenguaje ensamblador
Publicado por: Hipeople en 7 Junio 2009, 16:39 pm
Hola!

¿cómo se haría lo siguiente en lenguaje ensamblador?:

Implementar una función que sea invocada desde el main. En el main se le pedirá al usuario que teclee dos valores iniciales: valor mínimo y valor máximo. Luego la función alarma tendrá que ir pidiendo valores al usuario, ciclicamente, y mostrar un mensaje de alerta por pantalla cuando este valor no se encuentre entre los valores indicados al principio (en el main). Si se inserta el valor -100 el programa termina.

Nota: se debe implementar correctamente la llamada a procedimientos (uso de la pila, etc.)

Muchas gracias de antemano.


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: Eternal Idol en 7 Junio 2009, 17:01 pm
Primero y principal aca no se hacen tareas ajenas.



Tenes que usar los servicios del S.O. bajo el cual se ejecute tu programa para obtener los valores desde el teclado, lo demas son comparaciones. Tenes que usar call para llamar a la funcion (alarma) y dependiendo de la convencion de llamada que uses push para poner los parametros en la pila y ret/pop/add para sacarlos de la misma.


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: ny0x en 7 Junio 2009, 18:47 pm
hazlo primero en un lenguaje de alto nivel y luego lo pasas a asm, asi es mas facil  :xD, tu problema no es muy complicado solo hay que hacer unas cuantas comparaciones y saltos condicionales.


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: Hipeople en 8 Junio 2009, 19:26 pm
Alguien me puede decir el código para implementarlo en el simuador pcspim,por favor :-( ?


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: Eternal Idol en 8 Junio 2009, 19:28 pm
Encima es para MIPS, hubieras mencionado ese pequeño detalle ... mira, aca tenes lo que necesitas para obtener los valores del teclado:

http://en.wikipedia.org/wiki/SPIM

Por lo que veo no necesitas usar la pila para pasar los parametros:
http://en.wikipedia.org/wiki/Calling_convention#MIPS

Pero si puede que tengas que usarla para preservar los registros que modifiques:
http://en.wikipedia.org/wiki/MIPS_architecture#Compiler_register_usage

Mas info:
http://en.wikipedia.org/wiki/MIPS_architecture#MIPS_assembly_language

Arranca y te ayudamos mas.


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: Hipeople en 8 Junio 2009, 19:45 pm
me puedes decir el código?


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: Eternal Idol en 8 Junio 2009, 19:56 pm
NO; es tu trabajo, si esperas que te lo hagamos nosotros olvidate, demostra que estas intentadolo mostrandonos lo que hayas hecho hasta ahora.


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: Hipeople en 8 Junio 2009, 20:13 pm
.data

  var1 db ?
  var2 db ?
  msg1 db 'El Primero Es Mayor $'
  msg2 db 'El Primero Es Menor $'
  msg3 db 'Son Iguales $' 


Título: Re: Duda de implementación en lenguaje ensamblador
Publicado por: Eternal Idol en 8 Junio 2009, 20:20 pm
Esto no se de donde lo habras copiado pero no es lo que necesitas, visto y considerando que no tenes ni la menor idea de lo que te mandaron hacer hasta aca llegamos.