Pregunta

Tengo un proyecto urgente en la que se supone que debo poner en práctica bignum. Sólo tengo experiencia de trabajo en IA-32, cualquier consejo básico sería de gran ayuda.

¿Fue útil?

Solución

Si no tiene hardware para aprender sobre la arquitectura, tal vez SPIM ayuda lata.

Otros consejos

me gustaría escribir en C o C++ y utilizar el compilador para generar código ensamblador. Puede buscar cosas para arreglar (si no es un compilador estelar), y en el camino, podrás aprender cómo funciona el lenguaje ensamblador, las características de la CPU, etc.

En primer lugar, no lo haga. En su lugar, utilice una biblioteca existente, como GMP . referencias Wikipedia un toda la lista de dichas bibliotecas, con varias licencias. Algunos incluso se liberan en el dominio público.

Ahora, supongamos que usted no puede tolerar el uso de una biblioteca existente por alguna razón. Entonces mi consejo es: hacerlo en C. MIPS32 es un RISC arquitectura diseñada para hacer la compilación eficiente. Dado que los compiladores de C no son perfectos, alguna ganancia de rendimiento se puede lograr haciendo el montaje manual, pero no es un gran ganancia (como regla general, es de esperar una velocidad de + 30% para el montaje optimizado en comparación con optimizado C - y un desarrollo muy grande costo, también).

Una vez dicho esto, es posible que desee saber qué es un MIPS32 puede hacer, para que pueda optimizar mejor el código fuente C, e inspeccionar lo que produce el compilador, que decidir si lo está haciendo bien o no. Una fuente buena es la "Arquitectura MIPS32® para los programadores", que se puede descargar desde esta página . Usted tendrá que echar un vistazo a los volúmenes I y II.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top