Н-да.
Ответов обилие.
Пришлось писать все в отдельных файлах и раздельно подключать к проекту.
Сразу обнаружилась куча минусов.
Если вызываетя функция и текущего файла, то сохраняются только регистры которые
эта фунция использует. А если такая же из другого, то сохраняются все регистровые переменные.
Поэтому оптимизация имеет печальный вид.
Если бы не глючность IAR C51, то снес бы на фиг.
Вообще непонятно.
Такие классные компиляторы IAR для AVR и ARM и такой отстой для C51.