8052 имеет 256 байт ОЗУ. Нижние 128байт могут адресоваться непосредственно и образуют сегмент data. Вся память полностью, включая верхние 128 байт, может адресоваться только косвенно с помощью команд MOV @R0,iram addr и MOV @R1,iram addr. Эта память представлена в кайле в виде сегмента idata, т.е. сегменты data и idata прекрываются. Реально память распределяется при линковке таким образом:
00: R0-R7...
.........
xx:
data
yy: (максимум 0x7F)
.........
yy+1:
idata
zz:
.........
zz+1:
стек
FF:
Вам нужно объявить часть данных как idata, чтобы данные data поместились до границы 0x7F.