бчислення значення температури Т
; вхідні параметри:
; R0, R1, R2, R3-адреси комірок пам'яті даних, де храняться значення періодів Th; і Tl датчика
; вихідні параметри:
; 0X40 - адреса комірки, де зберігатися ціле значення температури (1 байт)
; 0X41 - адреса комірки, де зберігатися десятковий залишок значення; температури (1 байт)
; форма представлення T: Х. У
; ================================================== ========= _TEMP:
; перезапис адрес з банку 0 в банк 1A, R0B, R11R3, @ AR4, @ B0A, R2B, R31
;---------------------------------------------- R5, @ AR6 , @ B
; переклад Th з W в FPR3, @ R0R4, @ R1W_TO_FP @ 0x45h, R2 @ 0x46h, R3 @ 0x47h, R4
; переклад Tl з W в FPR3, R5R4, R6W_TO_FP
;----------------------------------------------
; поділ Th на Tl
; завантаження дільника (Tl) R6, R3R7, R4
; завантаження діленого (Th) R2, @ 0x45hR3, @ 0x46hR4, @ 0x47hDIV_FP; OUT - R2 R3 R4
;----------------------------------------------
; множення Th / Tl на 751
; завантаження множника Th/TlR5, R2R6, R3R7, R4
; завантаження множника 751R3, # 00000010bR4, # 11101111bW_TO_FP; переклад в 754 з W в FPMUL_FP; OUT - R2 R3 R4
; запис результату як вичітательR5, R2R6, R3R7, R4
; віднімання
; завантаження від'ємника 421R3, # 00000001bR4, # 10100101bW_TO_FP; переклад 421 з W в FPSUB_FP; OUT - R2 R3 R4 у форматі FPCREAT_MAIN_OST; виклик підпрограми обчислення цілої частини; значення Тх і дес. залишку в форматі W
;-----------------------------------------------
;-----------------------------------------------
; підпрограма обчислення цілої частини і десяткового залишку Tx з FP в W
; вхідні параметри:
; R2, R3, R4 - ЧИСЛО Tx У ФОРМАТІ FP
; вихідні параметри:
; 0X40 - адреса комірки, де зберігатися ціле значення температури
; 0x41 - адреса комірки де зберігається десятковий залишок
; вихідні параметри передаються у форматі W
;----------------------------------------------
; створення делітеля_MAINOST: R0, R2B, # 10; ПРОМІЖНИЙ ДЕЛІТЕЛЬA, # 1; ОСНОВНИЙ дільник: MUL ABR0, LOOP1R6, # 0R7, AR5, # 1DIV8; OUT - R5, R3 R4 @ 0x40, R5R0, # 5; СЧЕТЧИК: MOV R1, R5R6, # 0R7, # 10A, R3R5, R4: MOV R3, AR4, R5R5, # 1DIV8R5, # 0, LOOP2R0, LOOP3 @ 0x41, R1
; ================================================== ===
; підпрограма обробки переривання порту Р1
; визначає яка кнопка натиснута і залежно від цього, згідно з алгоритмом,
; виробляє подальший скан клавіатури для зчитування уставок або фіксує; номер датчика для якого треба вивести Tx або викликає П / П помилки введення; даних,
; якщо двічі нат...