это кусок кода прерывания по переполнению таймера Т2 [ATmega8L]
устройство - таймер который просто отсчитывает вперёд секунды минуты и часы
при переходе с 23:59:59 на 24:00:00 должен происходить сброс переменных в ноли
чтобы было 00:00:00 но этого не происходит, таймер показывает 24:00:00 и
продолжает считать вперёд
;------Прерывание T2 [1с]------
tim2: sei
inc t_secl
cpi t_secl, 10
breq sh
reti
sh: ldi t_secl, 0
inc t_sech
cpi t_sech, 6
breq ml
reti
ml: ldi t_secl, 0
ldi t_sech, 0
inc t_minl
cpi t_minl, 10
breq mh
reti
mh: ldi t_secl, 0
ldi t_sech, 0
ldi t_minl, 0
inc t_minh
cpi t_minh, 6
breq hl
reti
hl: ldi t_secl, 0
ldi t_sech, 0
ldi t_minl, 0
ldi t_minh, 0
inc t_hrl
cpi t_hrl, 10
breq hh
reti
hh: ldi t_secl, 0
ldi t_sech, 0
ldi t_minl, 0
ldi t_minh, 0
ldi t_hrl, 0
inc t_hrh
cpi t_hrh, 2
breq hh2
reti
hh2: cpi t_hrl, 4
breq hh3
reti
hh3: ldi t_secl, 0
ldi t_sech, 0
ldi t_minl, 0
ldi t_minh, 0
ldi t_hrl, 0
ldi t_hrh, 0
reti

