Таймеры вертятся по кругу, включая старший байт, инкрементируемый по прерыванию переполнения. Сбрасывать их не надо. Достаточно запретить прерывания и поочерёдно считать их полные значения. Далее разрешить прерывания и вычесть предыдущие значения из новых. Новыми результатами заместить предыдущие.
В процедуре считывания проверять флаги переполнений и при наличии их корректировать старший софтверный байт. Это на случай переполнения аппаратной части после запрещения прерываний.