d JMPprov * цикл не закінчився - перехід в початок циклу
* ---- Підпрограма формування вектора потужності
e085 7f 00 24 pow: CLRpwm_skv * очищаємо Вектор
e088 96 22 LDAApower * завантажуємо в регістр А змінну потужності
e08a 27 вересня BEQzero * якщо вона дорівнює нулю - вихід. Вектор=0
e08c 78 00 24 vector: LSLpwm_skv * інакше вектор зсуваємо вліво
e08f 7c 00 24 INCpwm_skv * збільшуємо на 1
e092 4a DECA * кількість ітерацій=змінної потужності
e093 26 f7 BNEvector * якщо лічильник циклу не дорівнює 0, повторюємо цикл
e095 39 zero: RTS * інакше вихід з підпрограми
* ---- Підпрограма плавного розгону
e096 78 00 24 plavn: LSLpwm_skv * формуємо вектор потужності
e099 7c 00 24 INCpwm_skv * поступово збільшуючи його до необхідного ур-ня
e09c 7a 00 23 DECrazgon * зменшуємо змінну розгону
0125 e09f 7d 00 20 prov2: TSTcnttime *
0126 e0a2 27 березня BEQexit0 * цикл закінчився - перехід до осн. прог.
e0a4 7e e0 9f JMPprov2 * цикл не закінчився - перехід в початок циклу
e0a7 39 exit0: RTS
* ---- Підпрограма обробки переривання RTIF
e0a8 86 01 OBRRTI: LDAA #% 00000001
e0aa 94 24 ANDApwm_skv * виділяємо молодший біт Вектора
e0ac b7 8 жовтня STAAportd * завантажуємо його в порт D [0]
e0af 76 00 24 RORpwm_skv * циклічно зсуваємо вектор вправо
e0b2 7a 00 20 DECcnttime * зменшуємо лічильник циклів
e0b5 86 40 LDAA # rtif *
e0b7 b7 25 жовтня STAA TFLG2 * скидання прапора RTIF
e0ba 3b RTI
* ---- Подпорграмма обробки переривання IRQ #
e0bb 7d 00 21 OBRIRQ: TSTflag * перевіряємо прапор роботи двигуна
e0be 26 0b BNEzapret * якщо він не дорівнює нулю (дорівнює 1), зупиняємо двигун
e0c0 86 01 LDAA # 1 * інакше
e0c2 97 21 STAAflag * встановлюємо прапор в 1
e0c4 86 40 LDAA # rtif *
e0c6 b7 24 жовтня STAATMSK 2 * дозволяємо переривання реального часу
e0c9 20 0f BRAexit * виходимо з переривання
e0cb 7f 00 21 zapret: CLRflag * скидаємо прапор в 0
e0ce 86 00 LDAA # $ 00 * і
e0d0 b7 24 жовтня STAATMSK 2 * забороняємо переривання реального часу
0155 e0d3 b7 10 Серпня STAAportd * потужність=0
0156 e0d6 96 22 LDAApower * зберігаємо поточний ур-нь потужності
e0d8 97 23 STAArazgon * для плавного розгону
e0da 3b exit: RTI * виходимо з переривання