Duda de implementación en lenguaje ensamblador

Iniciado por Hipeople, 7 Junio 2009, 16:39 PM

0 Miembros y 1 Visitante están viendo este tema.

Hipeople

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.

Eternal Idol

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.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

ny0x

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.

Hipeople

Alguien me puede decir el código para implementarlo en el simuador pcspim,por favor :-( ?

Eternal Idol

#4
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.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Hipeople


Eternal Idol

NO; es tu trabajo, si esperas que te lo hagamos nosotros olvidate, demostra que estas intentadolo mostrandonos lo que hayas hecho hasta ahora.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Hipeople

.data

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

Eternal Idol

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.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón