The following is a part of one of my source file:
struct s{char *p}; struct s code a = {"string1"}; struct s code b = {"string2"};
part of the C spec is "C can place anything anywhere it feels like" If you want such control do it in assembler. I have cases where (for other reasons) I will have things like phread.a51 will have cigar ds 256 pipe ds 256 momma.h will have extern xdata U8 cigar[]; extern xdata U8 pipe[]; that way cigar and pipe are consequtive. Any C module can include momma.h and use the variables. Erik