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.
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.
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.
Alguien me puede decir el código para implementarlo en el simuador pcspim,por favor :-( ?
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.
me puedes decir el código?
NO; es tu trabajo, si esperas que te lo hagamos nosotros olvidate, demostra que estas intentadolo mostrandonos lo que hayas hecho hasta ahora.
.data
var1 db ?
var2 db ?
msg1 db 'El Primero Es Mayor $'
msg2 db 'El Primero Es Menor $'
msg3 db 'Son Iguales $'
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.