Цитата(=L.A.= @ Nov 14 2008, 10:26)

Но, как я уже написал, локальные переменные в сегмент 'DATA' почему то никак не попадают. Только глобальные.
Может быть я непонятно написал... Переменные (в том числе, локальные) попадут в data, если указать модель Small. Тогда, сегмент data - переполнится (переменных слишком много). Некоторым из них нужно приписать спецификатор pdata (xdata), чтобы часть из них размещалась в ERAM (но, чтобы такие переменные не занимали более 256 байт).
Можно пойти от противного (неверное, это - хуже и сложнее)... Оставить модель Large, но части переменным присвоить спецификатор data: стольким переменным, чтобы в xdata осталось не более 256 байт переменных...
P.S. В data разместить 256 байт переменных не получится - во первых data не более 128 байт, но часть из них занимает область регистров общего назначения и битовоадресуемая память.
Да, кстати, ещё одно замечание. На потребную программе память влияет примененный линкер (лучше поставить галку "Use LX51") и уровень оптимизации (лучше поставить не менее "Level 2", а то и 4)