Возможно глупый вопрос, но как разработчики IAR предусматривали для х51 преобразование адресов из сегмента iData в адрес сегмента xData?

Пока что ничего умнее

unsigned char * a;
(unsigned char __xdata * )(a)+0xFF00

я не придумал. Но в этой конструкции явно заданное 0xFF00 слегка напрягает.
У кого-то есть более вразумительное решение?