ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1060441 Топик полностью
fk0, легенда (13.12.2020 16:15, просмотров: 468) ответил POV_ на Потому как адрес локальной переменной был жестко задан на этапе компиляции. И перекрывался с чем не надо. Так видимо.
Не морочь голову. Список функций в директиве OVERLAY ничем не лучше switch-case прямо в коде. На который и нужно заменить указатели на функции. И всё само и волшебно заработает оптимальным образом. Просто вместо установки указателя, ты в переменной, где был раньше указатель, должен будешь держать enum позволяющий выбор из одного из N вариантов. А в обработчике прерываний сделать switch (enum-var) { case Variant1: f1(); break; case Variant2: f2(); break... }... 
[ZX]