NR4, Q2 +2; старший байт суми Q2R3, Q2 +1; середній байт суми Q2R2, Q2; молодший байт суми Q2R0, # N; делітельA, R4; старший байт суми Q2B, R0; делітельAB ; R4, A; отримання старшого байта частногоR5, B; поточний залишок
; B, R0; делітельR1, # 16; колічетво розрядів делімого_Q2_dwb3:; C; A, R2; A; зсув вліво молодших розрядів частногоR2, A; A, R3; A; зсув вліво старших розрядів частногоR3, A; A, R5; A; зсув вліво поточного остаткаA, B, CALC_Q2_dwb1; порівняння поточного залишку з делітелем_Q2_dwb1:; CALC_Q2_dwb2; перехід, якщо залишок менше делітеляA, B; віднімання дільника з поточного остаткаR2; запис 1 в черговий розряд частного_Q2_dwb2:; R5, A; збереження остаткаR1, CALC_Q2_dwb3; повторити 16 разQ2 +2, R2; запишемо молодший байт суми Q2Q2 +1, R3; запишемо середній байт суми Q2Q2, R4; запишемо старший байт суми Q2
;///////////////////////////////_OR_Y3:
; порівняємо відніманням Q2-Q0C; Віднімання здійснюємо з заемом.A, Q2 +2; молодший байт Q2A, Q0 +1; віднімаємо молодший байт Q0A, Q2 +1; середній байт Q2A, Q0; віднімаємо старший байт Q0A, Q2 ; старший байт Q2A, 0; перевірка, чи був заемC, ACC.7; по результам віднімання аналізуємо вийшло значення на знак.CREATE_Y2; якщо C = 1 (Q2 Q0, формуємо Y3DPTR , # 0A003h; запис керуючого слова в РУС каналу 2A, # 10110110b; канал 2, тип - двійковий лічильник, режим 3 (дільник частоти), режим завантаження молодший, потім старший @ DPTR, A; виведемо словоDPTR, # 0A002h; завантажимо канал 2A , # 0F4h; дані для завантаження - молодший байт (для періоду 1 мс при періоді CLК 2 мкс завантажимо 500 або 1F4h) @ DPTR, A; виведемо данниеA, # 01h; старший байт @ DPTR, A; виведемо данниеDPTR, # 0A003h; запис керуючого слова в РУС каналу 1A, # 01110010b; канал 1, тип - двійковий лічильник, режим 1 (чекає мультивибратор), режим завантаження молодший, потім старший @ DPTR, A; виведемо данниеDPTR, # 0A001h; завантажимо канал 1A, # 30h; дані для завантаження - молодший байт (для формування імпульсу дозволу рахунку каналу 2 на 60 мс, при періоді CLK 2 мкс завантажимо 30000 або 7530h) @ DPTR, A; виведемо данниеA, # 75h; старший байт @ DPTR, A; виведемо данниеCE1; дозволимо рахунок каналу 1CE1_Y2: DPTR, # 0A003h; запис керуючого слова в РУС каналу 0A, # 00110010B; канал 0, тип - двійковий лічильник, режим 1 (чекає мультивибратор), режим завантаження молодший, потім старший @ DPTR, A; виведемо слово; подождемDPTR, # 0A000h; завантаження каналу 0A, # 98h; дані для завантаження - молодший байт (для 30 мс при періоді 2 мкс завантажимо 15000 або 3А98h) @ DPTR, A; виведемо данниеA, # 0H; старший байт @ DPTR, A; виведемо данниеCE0CE0
;///////////////////////////////_Q4: A, Q4CA, N7; отримання старшого байта N7A; зрушення вправо старшого байта N7R3, A; запис старшого байта N7 у R3A, N7 +1; отримання молодшого байта N7A; зрушення вправо молодшого байта масиву N5, в результаті імеемR2, A; поділений на 2 елемент N7CA, R3; отримання старшого байта N7A; зрушенн...