$regfile = "m8def.dat" ' мега8
$crystal = 8000000
Config Portb = Output , Portd = Output : Portc = &H30
Dim I As Byte , X As Byte , Cifri(4) As Byte 'задаем всякие переменные и масивы 
Config Clock = Soft 'конфигурируем софтовые часы
Config Timer0 = Timer , Prescale = 8 : On Timer0 Pulse : Enable Timer0 
'конфигурируем таймер 0 чтоб потом на него повесить алгоритм отображения цифр 
'назначаем подпрограмму, которая будет запускатся по переполнению 1-го таймера
Config Timer1 = Counter , Edge = Falling , Prescale = 1 : Enable Interrupts 
' конфигурируем таймер 1 на подсчет импульсов на кварце, припаянного к Xtal1 Xtal2 на 32768 гц БЕЗ КОНДЕРОВ!
Do 
'начало основного цикла
If Pinc.4 = 0 Then
Do
 Incr _min : _sec = 00
 If _min > 59 Then : _min = 00 : Incr _hour : End If
 If _hour > 23 Then _hour = 00 : Waitms 100
Loop Until Pinc.4 = 1
End If
If Pinc.5 = 0 Then
 Do
 Incr _hour : If _hour > 23 Then _hour = 00 : Waitms 100
 Loop Until Pinc.5 = 1
End If
 Loop 
'конец основного цикла
Pulse: '
подпрограмма прерываний таймера0
Cifri(1) = _min Mod 10 : Cifri(2) = _min / 10 : Cifri(3) = _hour Mod 10 : Cifri(4) = _hour / 10
Portb = &H0
Incr X : If X > 3 Then X = 0
Portd = Lookup(cifri(x + 1) , Dta)
Reset Portb.x
Return 
'возвращаемся на место откуда прервали программу
 Dta: 
'таблица с данными о цифрах зажигает по порядку : 0123456789
 Data &H10 , &H73 , &H48 , &H41 , &H23 , &H81 , &H80 , &H53 , &H0 , &H1