Hello My problem is that i want to create a file that contains some subroutine and call these routines from an other files that contains the main program. So in the main file i write this lines
NbMod EQU 2 SRC EQU 1000H DST EQU 1100H PUBLIC NbMod PUBLIC SRC PUBLIC DST
in the other file i write
EXTRN Number(NbMod) EXTRN Number(SRC) EXTRN Number(DST) XSEG AT Source ; Error absolute expression required SRC_RAM: DS 16 * NbMod ; Error Relocatable expression XSEG AT DST ; Error absolute expression required DST_RAM: DS 16 * NbMod ; Error Relocatable expression
you can show the message error in the right of each line but when i do these lines
NbMod EQU 2 SRC EQU 1000H DST EQU 1100H
in the same file ( i mean the file that contains the subroutine) i haven't this problem i don't understand why since i declare the Public in the main and EXTRN in the subroutine files
Thank you
The manual: http://www.keil.com/support/man/docs/a51/a51_st_equ.htm http://www.keil.com/support/man/docs/a51/a51_st_extrn.htm does show the use of PUBLIC with an EQU and EXTRN and NUMBER(xx) for a symbol that matches any memory class.
But as IB Shy's links shows, there's often a lot of special cases involved in things.