Пока оставил так:
В .map посмотрел, где сидят RSTACK и CSTACK, в начало вписал
#define FRS_STRING 0x11465253 // сигнатура
__no_init long check_CSTACK @0x100; // проверить по .map
__no_init long check_RSTACK @0x184;
инициализирую
check_CSTACK = FRS_STRING;
check_RSTACK = FRS_STRING;
и в программе проверяю:
long a = check_CSTACK;
if (a != FRS_STRING)
Send_string_N(CSTACK_ERROR);
a = check_RSTACK;
if (a != FRS_STRING)
Send_string_N(RSTACK_ERROR);
В итоге в .map мои переменные стоят как ABSOLUTE где надо
****************************************
* SEGMENTS IN ADDRESS ORDER *
****************************************
...
DATA 00000073 - 00000074 2
DATA 00000098 - 0000009D 6
DATA 00000100 - 00000103 4
CSTACK DATA 00000104 - 00000183 80 dse 0
ABSOLUTE DATA 00000184 - 00000187 4 rel 0
RSTACK DATA 00000188 - 00000207 80 dse 0