Цитата
кста, чтоб не париться с замедлением при заполнении в стеке, можно указать, что нужно использовать банки памяти спец директивой...
Здесь не совсем тот случай. Прерывание используется в либе и поменять банк не получится. А виртуальное прерывание программеры силаба использовали судя по всему по некомпетентности, поскольку им достаточно было объявить абсолютный кодовый сегмент. Видать не нашли. как это сделать. В итоге у них в либе перед вызовом пользовательской функции идет кусок кода, скорее всего накатанный на асеммблере, где восстанавливаются рабочие регистры, но вместо выхода из прерывания происходит калл по адресу виртуального прерывания. Для того, чтобы сделать все по человечески, т.е. использовать отдельный банк и убрать лишние маслания в стеке надо либо написать все по новому, либо выломать код из либы и отрехтовать его.