Цитата(SasaVitebsk @ May 29 2006, 22:47)

Я просмотрел листинг и увидел что компилятор сохраняет только 6 регистров в этом прерывании. А использует значительно больше. Вот из-за этого всё и происходит .... Варианты с запретом не прокатывают, - нельзя его запрещать.
Причина найдена. Не хочу никого вводить в заблуждения своими постами, поэтому описываю происходящее.
1) Компилятор ПОЛНОСТЬЮ сохраняет все используемые регистры. Поэтому при правильном написании программы можно делать вложенные прерывания простой вставкой __enable_interrupt();.
2) Ошибка происходила из-за сравнения с константой, которая была объявлена в __eeprom. Данная ошибка в работе компилятора была уже где-то описана. Я даже скачал новую версию библиотеки, любезно предоставленную, по-моему Igor Kossak (В случае ошибки прошу меня извинить). По видимому просто скачать и заменить её в каталоге было не достаточно. Может её оттранслировать необходимо было? Чтобы она в объектном виде лежала. Буду разбираться, хотя сейчас так это не ко времени.
3) Всётаки С "убивает" или "притупляет" чуство камня. Объявил в ЕЕПРОМе и работаю себе.... Фигня что не эффективно всё это...
Придётся перелопатить прогу на предмет переноса широкоиспользуемых констант из ЕЕПРОМ в ОЗУ.
Кстати IgorKossak, если Вы увидите этот пост поясните пожалуйста как использовать Ваш файл. Я думаю многим это поможет избежать моих ошибок.