Цитата(Alex B._ @ Aug 9 2007, 16:51)

>> Да, таблицa переходов есть, но я не вижу её использовать
Да не надо ее пользовать! Ее компилятор пользует. Если функция в адресном пространстве до 0x10000, используется прямой адрес...
OK, спасибо за пояснение. Ну затем строчка в OSTaskStkInit:
pc_high = (INT8U)(((INT32U)task >> 16) & 0x7F);
не имеет никакой смысл. На етой строчке мне начал код ошибаться. Моя программa ~80kB, 8 задач и все в нижной памяти. Но с одного времени у одного таску начало наполнять pc_high неправильным номером, и сделалo address error trap. Потому я дал твёрдо pc_high = 0 и пока всё работает правильно.