Problema INCLUDE

Problema INCLUDE

de Bruno Tio Apolinario -
Número de respuestas: 2

Estamos teniendo problemas al hacer el include de subrutinas para las pruebas. Sabemos que funciona bien porque si incluimos todas las subrutinas manualmente en el programa de prueba todo funciona según lo pensado. Sin embargo, cuando lo hacemos con include, los números cambian. Estamos seguros también de que las funciones están iguales. Probamos ponerlo al principio, al final (antes del end) y no encontramos solución.

En respuesta a Bruno Tio Apolinario

Re: Problema INCLUDE

de Julio Perez -

Sin ver el código de ustedes, van un par de precauciones para evitar errores habituales.

1) Cuando ustedes cargan el programa con el debugger y lo mandan ejecutar (ahora con el simulador, o después cuando lo carguen en el sistema hardware cargado en el FPGA) el programa de ustedes empieza por lo que esté al comienzo. El ensamblador arma todo para que la sección .text se ubique a partir de la dirección 0xB000, y cuando mandamos a correr el programa se comienza a ejecutar lo que esté cargado en esa dirección. Por lo tanto si ponen al comienzo las subrutinas nunca va a llegar a ejecutar el programa de prueba.

2) Cuidado con la directiva .end. Esa directiva le indica al ensamblador ignorar todo lo que venga después. Verifiquen que al final del archivo que están incluyendo no les quedó una directiva .end porque el ensamblador va a ignorar todo lo que venga después del .include

Si no estaban cayendo en ninguno de estos dos errores, entonces sigamos buscando:

- Fíjense en la ventana con los mensajes del compilador a ver si no da algún mensaje de error o warning.

- Fíjense en esa misma ventana si les aparece el listado de lo que genera el ensamblador para tratar de entender lo que está pasando.

Cualquier duda consulten de nuevo aportando más información, con cuidado de no poner soluciones en este foro.

Saludos,

julio