2009-05-01 22 views
10

Parece que no hay convenciones estandarizadas estandarizadas de pila y de llamada de lenguaje C (uso de registro y demás) para la arquitectura de procesador MIPS-32. Es decir, parece estar completamente dentro de la cadena de herramientas ensamblador/compilador definir su propio marco de pila y convenciones de llamada. He luchado para encontrar una referencia definitiva de qué convenciones utiliza el compilador GCC para el conjunto de instrucciones MIPS-32. Estoy utilizando especialmente un compilador cruzado de GCC en Cygwin que se dirige a un núcleo MIPS-32 que se usa en un entorno incrustado en el núcleo de código abierto de eCos.GCC MIPS-32 Convenciones de llamada/Marco de pila Definición

Cualquier referencia a la documentación definitiva sobre GCC para MIPS-32 en esta área sería apreciada.

Respuesta

5

Tienes razón, esto es un poco complicado y está poco documentado. Yo recomendaría:

+0

Gracias por las referencias. De hecho, he observado el código generado y la mayoría lo he descubierto, pero es difícil saber que en realidad tengo el caso general bien definido para todos los diversos tipos de parámetros y combinación, etc. –

4

No estoy de acuerdo con MIPS, pero quizás esta referencia MIPS ABI History podría ayudar.

+1

Este enlace ya no funciona. El nuevo enlace parece ser: http://www.linux-mips.org/wiki/MIPS_ABI_History – antoyo

Cuestiones relacionadas