tarea02_arq
DESCRIPTION
tareaTRANSCRIPT
-
Arquitectura de Computadores 543.426
Tarea No. 2
Resuelva los siguientes problemas utilizando la convencin estndar de uso de registros MIPS (temporales, argumentos, valores de retorno, etc.) y utilizando marcos de activacin (incluyendo manejo de $sp y $fp) de la manera vista en clases.
1. Escriba una funcin recursiva en assembly MIPS que calcule el n-simo nmero Cataln. Los nmeros Cataln se definen de la siguiente forma:
C0 = 1; Cn+1 = [(4n+2)Cn]/ (n+2) El cdigo C equivalente es: unsigned int catalan(unsigned int n) { if (n == 0) return 1; return ((4*n - 2) * catalan(n-1))/(n + 1); }
2. La funcin recursiva 91 de McCarthy aplicada sobre un argumento n retorna el valor n - 10 si n > 100, y retorna el valor 91 si n 100) return n 10; return m91(m91(n + 11)); }
3. Un par de funciones son mutuamente recursivas si cada una se define en trminos de la otra. Implemente el siguiente par de funciones mutuamente recursivas, utilizadas para determinar si un nmero es par o impar. unsigned char esPar(unsigned int n) { if (n == 0) return 1; return esImpar(n 1); }
-
unsigned char esImpar(unsigned int n) { if (n == 0) return 0; return esPar(n 1); } Plazo mximo de entrega: Lunes 20 de Abril hasta las 17 horas en Secretara de Electrnica. No se corregirn tareas atrasadas. Se debe trabajar en grupos de 2 personas. Grupos de 1 persona son permitidos pero no recomendados. No se permitirn grupos de ms de 2 personas. Se les recuerda que cualquier copia (entre tareas o de fuentes externas) resultar en calificacin 1 para todas las tareas involucradas.