Ну вот, уже что-то осмысленное. У задачи повышения разрядности
таймера, и получения правильного значения есть классическое
решение, без запрета прерываний вообще. 1. В обработчике прерывания по переполнению таймера делается тупой инкремент переменной, где хранится старшая часть счетчика.
2. В функции чтения значения счетчика выполняется чтение и объединение счетчика таймера (младшей части) и переменной со старшей частью счетчика. Затем выполняется повторное чтение старшей части счетчика и сравнение с предыдущим считанным значением. Если значение не изменилось - выходим, если изменилось - повторно читаем счетчик таймера (младшую часть) и выходим.