Цитата
1. Было бы легче разобраться, если бы Вы приаттачили весь код.
Код занимает 5 кило, представляете, как это выглядит в исходниках

.
Цитата
2. Если в фоновой задаче происходит обращение к одному флагу, а в прерывании - к другому, то вполне возможна порча флагов.
Это исключенно, так как программа заработала после того, как я флаги вынес из структуры, т.е. я больше ничего не менял. Есть конечно еще одно объяснение - где-то некорректно работаю со структурой, т.е. порчу данные некорректным обращением. Но я убрал все обращения к структуре, кроме работы с этими флагами. Попробую проверить адресацию в ассемблерном коде... может это поможет понять причину.
Спасибо за ответ.