¡Hola!,
me estoy iniciando con el código reubicable por las ventajas que presenta. Bueno pues estas son mis primeras pruebas y fallidas
. El código de retardos lo encontré por el foro y me pareció bueno para hacer las pruebas por su sencillez.
Bueno lo que pasa es que si añado el código de retardos el programa no me encuentra el punto de entrada, y si no lo pongo pues me entra en el main perfectamente. La cuestión es que no puede haber código por encima del programa principal no se porqué. Si lo intento poner debajo el compilador no sabe resolver los símbolos.
El simulador me da error CORE-E0002: Stack under flow error occurred from instruction at 0x000800
Gracias por adelantado
Adjunto programa y el map file
LIST P=16F873A
#include "P16F873A.INC"
#include "c_Externo.inc"
EXTERN Retardo_10micros,Retardo_5micros,Retardo_4micros
udata
dato res 1
reset CODE 0
pagesel main
goto main
principal CODE 0x05
pagesel Retardo_10micros
call Retardo_10micros
goto $
END
Aqui viene c_Externo.inc
GLOBAL Retardo_10micros,Retardo_5micros,Retardo_4micros
retardos CODE
Retardo_10micros ; La llamada "call" aporta 2 ciclos máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
nop ; Aporta 1 ciclo máquina.
Retardo_5micros ; La llamada "call" aporta 2 ciclos máquina.
nop ; Aporta 1 ciclo máquina.
Retardo_4micros ; La llamada "call" aporta 2 ciclos máquina.
return ; El salto del retorno aporta 2 ciclos máquina.
END
.map
MPLINK 4.11, Linker
Linker Map File - Created Thu Feb 14 18:35:13 2008
Section Info
Section Type Address Location Size(Bytes)
--------- --------- --------- --------- ---------
.cinit romdata 0x000005 program 0x000004
retardos code 0x000007 program 0x00000e
Program Memory Usage
Start End
--------- ---------
0x000005 0x00000d
9 out of 4229 program addresses used, program memory utilization is 0%
Symbols - Sorted by Name
Name Address Location Storage File
--------- --------- --------- --------- ---------
Retardo_10micros 0x000007 program extern c_Externo.inc
Retardo_4micros 0x00000d program extern c_Externo.inc
Retardo_5micros 0x00000c program extern c_Externo.inc
Symbols - Sorted by Address
Name Address Location Storage File
--------- --------- --------- --------- ---------
Retardo_10micros 0x000007 program extern c_Externo.inc
Retardo_5micros 0x00000c program extern c_Externo.inc
Retardo_4micros 0x00000d program extern c_Externo.inc