вообще то float писался 4-мя байтами "на ура" ещё программой (с ошибками) из самого первого поста, а вот прочитать его из EEPROM не могу.
Память под адресные переменные EEPROMA у меня определяется в области xdata в начале адресного пространства. На счет large - у AT89S8253 12кб памяти программ и 2кб памяти данных. В настройках я обнаружил 2 поля: Memory Model и Code Rom Size. Это видимо определение расположения переменных в ОЗУ и размер памяти программ? Стоят знчачения Small: variables in DATA, Large: 64K program соответственно (12кб значения нет).