По OR оно получается.
Не знаю, откуда берется оно в буферном регистре, загадка. Может порождение каких-то иных глюков, но предположений у меня нет.
Т.к. последовательность теста такова:
1) Остановили таймер
2) Записали в буферный регистр число 1000
3) Подождали, прочитали из регистра текущего значения
4) Если ноль, то добавляем к первой группе процентов
5) Если не 1000, но и не ноль, то добавляем к второй группе процентов, и суммируем по OR все неправильно прочитавшиеся числа.
6) Записываем в буферный регистр число 2000
7) И идем на пункт 3.
И так по кругу, то 1000, то 2000, и каждый раз проверяем оно ли читается. Еще можно списать чтение нуля на то, что заблокирован регистр текущего состояния (хотя не должен, т.к. применяются методы для его разблокировки), но ЛЕВЫЕ числа уж никак не могут попасть в таймер случайно, тем более, что он стоит, а не считает.





Ответить с цитированием