DBOBRIRQ
fffe ORGROM + $ 1FFE
fffe e0 00 VRSTFDBSTA RT
* ---- ROM
e000 ORGROM
e000 8e 00 1f START: LDS # STACK * Занесення в рег.SP поч адреси стека
e003 86 00 LDAA # $ 00
e005 b7 26 жовтня STAAPACTL * період роботи схеми 4,10 мс (Е=2 МГц)
e008 86 00 LDAA # 00
e00a b7 24 жовтня STAATMSK 2 * заборона переривання реального часу
e00d b6 2 жовтня LDAApioc
e010 8a 10 ORAA # hnds
e012 b7 2 жовтня STAApioc
e015 86 00 LDAA # $ 00 * ІНІЦІАЛІЗАЦІЯ ВСЬОГО
e017 b7 10 липня STAAddrc * ПОРТУ З НА ВВЕДЕННЯ
e01a 86 ff LDAA # $ ff *
e01c b7 10 вересень STAA ddrd * всі висновки порту D - висновок даних
e01f 86 00 LDAA # 0
e021 b7 10 квітня STAAportb * семисегментний індикатор показує 0
e024 b7 8 жовтня STAAportd * потужність=0,
* ---- основна програма
e027 96 22 ost: LDAApower *
e029 97 23 STAArazgon *
e02b 86 08 incr: LDAA # $ 08
e02d 97 20 STAAcnttime * лічильник циклів=8
e02f 86 00 LDAA # $ 00 *
e031 b7 24 жовтня STAATMSK 2 * заборона переривання реального часу
e034 b6 10 Березня LDAAportc * зчитуємо порт С
e037 94 02 ANDAplus * виділення біта, відповідного кнопці «Ув. мощн. »
e039 26 вересня BNEdecr * кнопка натиснута, перевіряємо кнопку «Розум. мощн. »
e03b 96 22 LDAApower * інакше
e03d 81 08 CMPA # 8 * перевіряємо на вихід за межі можливого ур-ня мощн. (> 8)
e03f 27 березня BEQdecr * якщо 8 ур-нь - переходимо до перевірки кнопки Розум. мощн.
e041 7c 00 22 INCpower * якщо був <8, то збільшуємо змінну потужності
0076
e044 b6 10 Березня decr: LDAA portc
0078 e047 94 01 ANDA minus * виділення біта, відповідного кнопці «Розум. мощн. »
e049 26 вересня BNEindi * кнопка натиснута, виводимо поточну потужність на індикатор
e04b 96 22 LDAApower * інакше
e04d 81 00 CMPA # 0 * перевіряємо на вихід за межі можливого ур-ня мощн. (<0)
e04f 27 березня BEQindi * якщо 0 ур-нь, показуємо на індикаторі
e051 7a 00 22 DECpower * інакше зменшуємо змінну потужності
e054 96 22 indi: LDAA power *
e056 b7 8 жовтня STAA portd * Висновок змінної потужності на індикатор
e059 bd e0 85 JSRpow * перехід до підпрограми формую. вектора мощн.
e05c 7d 00 21 TSTflag * порверяем прапор роботи
e05f 27 c6 BEQost * якщо він дорівнює 0, забороняємо переривання реального часу
e061 7d 00 23 TSTrazgon * перевіряємо значення потужності до переривання
e064 27 грудня BEQrazr * якщо дорівнює нулю - переходимо до встановлення поточного ур-ня мощн.
e066 7f 00 24 CLRpwm_skv * якщо не дорівнює - очищаємо вектор потужності
0096 e069 7d 00 23 razg: TSTrazgon
e06c 27 0a BEQrazr
e06e 86 40 LDAA # rtif *
0099 e070 b7 24 жовтня STAATMSK 2 * дозвіл переривання реального часу
e073 bd e0 96 JSRplavn * переходимо до підпрограми плавного розгону
e076 20 f1 BRArazg * повертаємося до перевірки значення потужності
e078 86 40 razr: LDAA # rtif *
e07a b7 24 жовтня STAATMSK 2 * дозвіл переривання реального часу
0105 e07d 7d 00 20 prov: TSTcnttime *
0106 e080 27 a9 BEQincr * цикл закінчився - перехід до осн. прог.
e082 7e e0 7...