[ Foro de retos de programación ]

Programacion en ensamblador MIPS

27-Sep-2013 16:35
Invitado (Yopi)
1 Respuestas

Hola necesito hacer un programa en ensamblador MIPS,que me pida un numero y que despliegue un mensaje de si es par o impar.
Ayuda


28-Sep-2013 11:40
Nacho Cabanes (+83)

Este foro no es de ensamblador, y yo hace casi 20 años que no programo en ensamblador de MIPS, además de que no usábamos rutinas que interaccionaran con el usuario (ni pedir datos ni escribir en pantalla), sino que tomábamos los datos de una posición de memoria y guardábamos los resultados en otra posición de memoria. Se debe básicamente a que la interacción con el usuario no depende estrictamente del procesador, sino del sistema operativo que haya por encima de ese procesador MIPS.

Aun así, para la parte de cómo pedir datos y cómo mostrarlos, supongo que tus profesores te habrán dado un esqueleto básico. Si no es así, aquí tienes uno:

http://stackoverflow.com/questions/15344376/recieving-user-integer-storing-then-printing-it-mips-assembly

Para saber si es par o impar, una forma simple es mirar el último bit (el bit menos significativo). Si ese bit es 0, el número es par; si es 1, el número es impar. En algunos procesadores, existe una operación que te permite saber el valor de un bit (no recuerdo si ese es el caso de los MIPS); si no es así, siempre puedes convertir a 0 todos los demás bits usando una operación AND.

La lógica completa de la rutina sería algo como

Pedir número
AND registro, 00000001
SALTAR SI ES 0 a ESCRIBIR_PAR
ESCRIBIR_IMPAR
FIN
ESCRIBIR_PAR
FIN

(En ese AND he puesto un dato de 8 bits por simplicidad; en un MIPS sería de 32 bits, de los cuales serían 0 los 31 primeros).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)