GOTOVUBOR;ÍÀ ÂÛÁÎÐ ÐÅÆÈÌÀ ÈÍÄÈÊÀÖÈÈ.
RETURN
;=================================================
; 9. ÓÑÒÀÍÎÂÊÀ ÊÓÐÑÎÐÀ (ÂÛÁÎÐ ÐÀÇÐßÄÀ ÓÑÒÀÍÎÂÊÈ).
KYPCOP
BSFFLAG,7;ÓÑÒÀÍÎÂÊÀ.
BCFFLAG,4;ÑÁÐÎÑ ÔËÀÃÀ ÍÅÒ ÊÓÐÑÎÐÀ.
INCFKYPC,1;ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ Â ÊÓÐÑÎÐ.
MOVLW.6;ÍÅ ÁÎËÅÅ 5.
SUBWFKYPC,0;
SKPC;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 6,
RETURN;
CLRFKYPC;ÎÁÍÓËÈÌ.
BSFFLAG,4;ÍÅÒ ÊÓÐÑÎÐÀ Â ÏÎËÅ.
BCFFLAG,7;ÍÅÒ ÓÑÒÀÍÎÂÊÈ.
;=========================================
; 10. ÂÂÎÄ ÊÓÐÑÎÐÀ  ÌË. ÐÀÇÐßÄ ÐÅÃÈÑÒÐÎÂ.
KYPVO
BTFSCFLAG,4;ÅÑËÈ ÍÅÒ ÊÓÐÑÎÐÀ,
RETURN;ÒÎ ÂÅÐÍÅÌÑß.
CALLKYPCY;ÓÑÒÀÍÎÂÈÌ ÐÅÆÈÌÛ.
MOVWFKYPCI;Â ÊÓÐÑÎÐ ÈÍÄÈÊÀÖÈÈ.
RRFKYPCI,1;ÇÀÏÎËÍÈÌ ÁÈÒ "Ñ".
ADDCFR1,1;ÏÅÐÅÍÅÑÅÌ Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ.
ADDCFR2,1;ÏÅÐÅÍÅÑÅÌ Â ÐÅÃÈÑÒÐ ÈÍÄÈÊÀÖÈÈ.
RRFKYPCI,1;ÎÑÒÀËÜÍÛÅ ÐÅÃÈÑÒÐÛ
ADDCFR3,1;ÇÀÏÎËÍßÅÌ ÀÍÀËÎÃÈ×ÍÎ.
RRFKYPCI,1;
ADDCFR4,1;
ADDCFR5,1;
ADDCFR6,1;
ADDCFR7,1;
ADDCFR8,1;
;=============================================
; 11. ÂÛÂÎÄ ÍÀ ÈÍÄÈÊÀÖÈÞ.
IND
CALLKYPVO;ÂÂÅÄÅÌ ÊÓÐÑÎÐÛ Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MOVFWZPT;ÇÍÀ×ÅÍÈß ÇÀÏßÒÛÕ ÏÅÐÅÏÈØÅÌ
MOVWFTZPT;ÂÎ ÂÐÅÌÅÍÍÛÉ ÐÅÃÈÑÒÐ.
BSFFLAG1,2;ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ.
BCFPORTC,DIN;ÄÀÍÍÛÅ ÐÀÂÍÛ ÍÓËÞ.
BCFPORTC,LOAD;ÍÀ×ÀËÎ ÏÅÐÅÄÀ×È (LOAD=0).
RRFTZPT,1;ÂÛÒÎËÊÍÅÌ Î×ÅÐÅÄÍÓÞ ÇÀÏßÒÓÞ.
CALLVUV0;
BCFFLAG1,2;ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ.
MOVLWR1;ÇÀÏÈØÅÌ ÀÄÐÅÑ ÏÅÐÂÎÃÎ ÐÅÃÈÑÒÐÀ ÈÍÄÈÊÀÖÈÈ.
MOVWFFSR;
MOVFWINDF;ÇÍÀ×ÅÍÈÅ ÏÅÐÂÎÃÎ ÐÅÃÈÑÒÐÀ
MOVWFTEMP;ÏÅÐÅÏÈØÅÌ ÂÎ ÂÐÅÌÅÍÍÛÉ.
CALLVUVOD;ÍÀ ÂÛÂÎÄ.
POVT
INCFFSR,1;ÓÂÅËÈ×ÈÌ ÀÄÐÅÑ ÐÅÃÈÑÒÐÀ ÈÍÄÈÊÀÖÈÈ.
MOVFWINDF;ÏÅÐÅÏÈØÅÌ ÅÃÎ ÇÍÀ×ÅÍÈÅ
MOVWFTEMP;ÂÎ ÂÐÅÌÅÍÍÛÉ.
INCFCOUZ,1;ÏÎÄÑ×ÈÒÀÅÌ ×ÈÑËÎ
MOVLW.7;ÏÅÐÅÄÀÂÀÅÌÛÕ
SUBWFCOUZ,0;ÇÀÏßÒÛÕ.
BTFSCSTATUS,2;
CLRFCOUZ;ÎÁÍÓËÈÌ Ñ×ÅÒ×ÈÊ.
BTFSSSTATUS,2;
GOTOPOVT;ÏÎÂÒÎÐÈÌ ÂÛÂÎÄ.
BSFPORTC,LOAD;ÊÎÍÅÖ ÏÅÐÅÄÀ×È.
CUNX
BSFPORTC,DCLK;ÑÈÍÕÐÎÒÌÏÓËÜÑ = 1.
CALLPAUS;ÏÀÓÇÀ.
BCFPORTC,DCLK;ÑÈÍÕÐÎÈÌÏÓËÜÑ = 0.
RETURN;ÂÎÇÂÐÀÒ.
PAUS
MOVLW .5;ÌÎÆÍÎ ÏÎÄÁÈÐÀÒÜ ÇÍÀ×ÅÍÈÅ ÏÀÓÇÛ.
ADDLW -1;ÏÀÓÇÀ = ×ÈÑËÎ Õ 4 ÌÊÑ.
BTFSS STATUS,2;
GOTO $-2;ÏÎÂÒÎÐÈÌ.
RETURN;ÂÅÐÍÅÌÑß.
VUVOD
RRFTEMP,1;ÑÄÂÈÍÅÌ ÂÏÐÀÂÎ.
VUV0
BTFSSSTATUS,0;ÏÎ ÍÓËÅÂÎÌÓ ÐÀÇÐßÄÓ
BCFPORTC,DIN;ÓÑÒÀÍÀÂËÈÂÀÅÌ ÄÀÍÍÛÅ
BTFSCSTATUS,0;Â 0 ÈËÈ 1.
BSFPORTC,DIN;
CALLCUNX;ÑÈÍÕÐÎÍÈÇÈÐÓÅÌ ÄÀÍÍÛÅ.
BTFSCFLAG1,2;ÅÑËÈ ÇÀÏßÒÀß ÏÅÐÅÄÀÍÀ,
INCFCOU,1;ÏÎÄÑ×ÈÒÀÅÌ ×ÈÑËÎ ÁÈÒ.
MOVLW.8;
SUBWFCOU,0;
BTFSSSTATUS,2;ÅÑËÈ ÍÅ ÂÑÅ ÁÈÒÛ ÏÅÐÅÄÀÍÛ,
GOTOVUVOD;ÏÎÂÒÎÐÈÌ ÂÛÂÎÄ.
CLRFCOU;ÎÁÍÓËÈÌ Ñ×ÅÒ×ÈÊ.
;======================================================
; 12. ÑÎÕÐÀÍÅÍÈÅ È ÂÎÑÑÒÀÍÎÂËÅÍÈÅ ÇÍÀ×ÅÍÈÉ ÐÅÃÈÑÒÐΠÏÐÈ ÏÐÅÐÛÂÀÍÈÈ.
PRER
MOVWFWTEMP;ÑÎÕÐÀÍÅÍÈÅ ÇÍÀ×ÅÍÈÉ ÐÅÃÈÑÒÐΠW,
MOVFWSTATUS;STATUS,
MOVWFSTEMP;
MOVFWFSR;FSR.
MOVWFFTEMP;
BSFFLAG1,1;1 ÑÅÊ ÖÈÊËÀ.
CALLS1;ÏÎÄÑ×ÈÒÀÅÌ ÂÐÅÌß.
BTFSCFLAG,2;
CALLTAIM;
REPER ;ÂÎÑÑÒÀÍÎÂËÅÍÈÅ ÑÎÕÐÀÍÅÍÍÛÕ ÇÍÀ×ÅÍÈÉ.
MOVFWSTEMP;ÂÎÑÑÒÀÍÎÂËÅÍÈÅ ÐÅÃÈÑÒÐÎÂ:
MOVWFSTATUS;STATUS,
MOVFWFTEMP;
MOVWFFSR;FSR,
MOVFWWTEMP;W.
BCFINTCON,2;ÑÁÐÀÑÛÂÀÅÌ ÔËÀÃ ÏÐÅÐÛÂÀÍÈß ÎÒ TMR0.
RETFIE;ÂÎÇÂÐÀÒ ÈÇ ÏÐÅÐÛÂÀÍÈß.
; 13. ÏÎÄÑ×ÅÒ ÂÐÅÌÅÍÈ.
S1
BTFSCFLAG1,5;
GOTO$+8;
BTFSSFLAG1,4;
GOTO$+6;
BTFSCPORTC,0;ÑÌÅÍÀ ÂÊËÞ×ÅÍÈß ÇÓÌÌÅÐÀ.
GOTO$+3;
BSFPORTC,0;ÂÊËÞ×ÈÌ ÑÈÃÍÀË.
GOTO$+2;
BCFPORTC,0;
MOVLW.9;ÅÑËÈ ÓÆÅ 9 ÑÅÊÓÍÄ,
SUBWFCL,0;
BCSH;ÈÄÅÌ ÍÀ ÑÐÀÂÍÅÍÈÅ ÄÅÑßÒÊÎÂ ÑÅÊÓÍÄ.
INCFCL,1;ÈÍÀ×Å ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ.
SH
CLRFCL;ÎÁÍÓËÈÌ ÑÅÊÓÍÄÛ.
MOVFWCH;ÅÑËÈ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ
ADDLW-5H;ÐÀÂÍÛ 5,
BZMIL;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÌÈÍÓÒÛ.
INCFCH,1;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.
MIL
CLRFCH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.
MOVFWML;ÅÑËÈ ÅÄÈÍÈÖÛ ÌÈÍÓÒ
ADDLW-9H;ÐÀÂÍÛ 9,
BZMIH;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÄÅÑßÒÊÈ.
INCFML,1;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÌÈÍÓÒÛ.
MIH
BSFFLAG1,4;ÏÐÎØËÎ 10 ÌÈÍÓÒ ÊÓÐÑÎÐ ÂÛÊËÞ×ÀÅÒÑß.
CLRFKYPC;ÍÅÒ ÊÓÐÑÎÐÀ.
CLRFML;ÎÁÍÓËÈÌ ÅÄÈÍÈÖÛ ÌÈÍÓÒ.
MOVFWMH;ÅÑËÈ ÄÅÑßÒÊÈ ÌÈÍÓÒ
BZHOL;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ×ÀÑÛ.
INCFMH,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
HOL
BCFFLAG1,5;ÍÀÏÎÌÈÍÀÍÈÅ ÎÁ ÀÂÀÐÈÈ ÍÀÏÐßÆÅÍÈß.
CLRFMH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
MOVFWHH;ÅÑËÈ ÄÅÑßÒÊÈ ×ÀÑÎÂ
ADDLW-2H;ÐÀÂÍÛ 2,
BZHL4;ÏÐÎÂÅÐÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
MOVFWHL;ÅÑËÈ ÅÄÈÍÈÖÛ ×ÀÑΠÐÀÂÍÛ 9,
ADDLW-9H;
BZ$+3;ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
INCFHL,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
CLRFHL;
INCFHH,1;
HL4
MOVFWHL;ÅÑËÈ ÅÄÈÍÈÖÛ ×ÀÑÎÂ
ADDLW-3H;ÐÀÂÍÛ 3,
BZHOH;ÈÄÅÌ ÎÁÍÓËßÒÜ.
INCFHL,1;ÈËÈ ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ.
HOH
CLRF HH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
; 14. ÒÀÉÌÅÐ.
TAIM
BSFFLAG,5;ÑËÅÄÓÞÙÀß ÎÑÒÀÍÎÂÊÀ ÒÀÉÌÅÐÀ.
SUBWFTCL,0;
BC$+3;ÈÄÅÌ ÍÀ ÑÐÀÂÍÅÍÈÅ ÄÅÑßÒÊÎÂ ÑÅÊÓÍÄ.
INCFTCL,1;ÈÍÀ×Å ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÓ.
CLRFTCL;ÎÁÍÓËÈÌ ÑÅÊÓÍÄÛ.
MOVFWTCH;ÅÑËÈ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ
BZ$+3;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÌÈÍÓÒÛ.
INCFTCH,1;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.
CLRFTCH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÑÅÊÓÍÄ.
MOVFWTML;ÅÑËÈ ÅÄÈÍÈÖÛ ÌÈÍÓÒ
BZ$+3;ÈÄÅÌ ÑÐÀÂÍÈÂÀÒÜ ÄÅÑßÒÊÈ.
INCFTML,1;ÈÍÀ×Å ÓÂÅËÈ×ÈÌ ÌÈÍÓÒÛ.
CLRFTML;ÎÁÍÓËÈÌ ÅÄÈÍÈÖÛ ÌÈÍÓÒ.
MOVFWTMH;ÅÑËÈ ÄÅÑßÒÊÈ ÌÈÍÓÒ
BZ$+3;ÓÂÅËÈ×ÈÌ ×ÀÑÛ.
INCFTMH,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
CLRFTMH;ÎÁÍÓËÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
MOVFWTHL;ÅÑËÈ ÅÄÈÍÈÖÛ ×ÀÑΠÐÀÂÍÛ 9,
INCFTHL,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
CLRFTHL;ÎÁÍÓËÈÌ ×ÀÑÛ.
MOVFWTHH;ÅÑËÈ ÄÅÑßÒÊÈ ×ÀÑΠÐÀÂÍÛ 9,
BZ$+3;ÎÁÍÓËÈÌ.
INCFTHH,1;ÈËÈ ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
CLRFTHH;
T00
BTFSSFLAG,5;
GOTO$+4;
BCFFLAG,2;ÒÀÉÌÅÐ ÂÛÊËÞ×ÅÍ.
BCFFLAG,5;ÑËÅÄÓÞÙÅÅ ÂÊËÞ×ÅÍÈÅ ÒÀÉÌÅÐÀ.
CLRFTCL;ÂÑÅ ÎÁÍÓËßÅÌ.
CLRFTCH;
CLRFTML;
CLRFTMH;
CLRFTHL;
BSFFLAG,2;ÂÊËÞ×ÈÌ ÒÀÉÌÅÐ.
;===================================================
; 15. ÀÖÏ - ÏÐÅÎÁÐÀÇÎÂÀÍÈß (ÈÇÌÅÐÅÍÈÅ ÂÕÎÄÍÛÕ ÂÅËÈ×ÈÍ).
ADP
MOVLWB'10000001';ÑÈÍÕÐÎÍÈÇÀÖÈß ÎÒ RC
MOVWFADCON0;ÃÅÍÅÐÀÒÎÐÀ, ÂÕÎÄ 0, ÂÊËÞ×ÅÍÈÅ ÀÖÏ (YBX).
CALLZAD;
BSFADCON0,1;ÂÊËÞ×ÈÌ ÏÐÅÎÁÐÀÇÎÂÀÍÈÅ.
BTFSCADCON0,1;ÎÆÈÄÀÅÌ ÇÀÂÅÐØÅÍÈß
GOTO$-1 ;ÏÐÅÎÁÐÀÇÎÂÀÍÈß.
MOVFWADRESH ;ÏÅÐÅÏÈØÅÌ ÐÅÇÓËÜÒÀÒ ÏÐÅÎÁÐÀÇÎÂÀÍÈß
MOVWFTEKH;Â ÑÒÀÐØÈÉ ÒÅÊÓÙÈÉ ÐÅÃÈÑÒÐ.
BSFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 1.
MOVLW58;
MOVWFFSR;ÏÎ ÊÎÑÂÅÍÍÎÉ ÀÄÐÅÑÀÖÈÈ
MOVFWADRESL;ÇÀÏÈÑÜ ÌË. ÐÅÃÈÑÒÐÀ ÀÖÏ
MOVWFINDF;Â ÐÅÃÈÑÒÐ TEKL.
BCFSTATUS,5;ÏÅÐÅÕÎÄÈÌ Â ÁÀÍÊ 0.
CALLCOMPA;
GOTOBINDEC;ÏÅÐÅÊÎÄÈÐÓÅÌ Â 2_10 ÊÎÄ.
ZAD
MOVLW.5;ÇÀÄÅÐÆÊÀ 20 ÌÊÑ.
ADDLW-1;
GOTO$-2;
;===========================
; 16. ÑÐÀÂÍÅÍÈÅ Ñ ÓÑÒÀÍÎÂÊÎÉ.
COMPA
TSTFTEKL;
GOTOVUKL;
MOVFWYCTL;ÓÑÒÀÍÎÂÊÀ ÌÀÊÑÈÌÓÌÀ.
SUBWFTEKL,0;ÈÇÌÅÐÅÍÈÅ,
BTFSCSTATUS,0;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ,
GOTOVUKL;ÒÎ ÂÊËÞ×ÀÅÒÑß ÇÓÌÌÅÐ.
MOVFWYCTLI;ÓÑÒÀÍÎÂÊÀ ÌÈÍÈÌÓÌÀ.
BTFSSSTATUS,0;ÅÑËÈ ÌÅÍÜØÅ,
BTFSCSTATUS,2;ÅÑËÈ ÐÀÂÍÎ,
BCFFLAG1,4;ÇÓÌÌÅÐ ÂÛÊËÞ×ÅÍ.
BCFFLAG1,5;ÇÓÌÌÅÐ ÂÛÊËÞ×ÅÍ.
BCFPORTC,0;ÂÛÊËÞ×ÈÌ ÑÈÃÍÀË.
VUKL
BTFSCPORTA,KY;
GOTO$+5;
BSFFLAG1,5;ÏÎÑÒÀÂÈÌ ÑÒÎÐÎÆÎÊ ÍÀ 1 ×ÀÑ.
BTFSCFLAG1,5;ÅÑËÈ 1 ×ÀÑ ÏÐÎØÅË, ÒÎ ÂÊËÞ×ÈÌ ÑÈÃÍÀË.
BTFSCFLAG1,4;ÅÑËÈ ÂÛÕÎÄ ÓÆÅ ÂÛÊËÞ×ÅÍ,
RETURN;ÑÐÀÂÍÅÍÈÉ ÍÅÒ.
BSFFLAG1,4;ÇÓÌÌÅÐ ÂÊËÞ×ÅÍ.
; 17. ÏÅÐÅÊÎÄÈÐÎÂÊÀ ÈÇ 16-È ÐÀÇÐßÄÍÎÃÎ 2-ÃÎ Â 5- ÐÀÇÐßÄÍÎÅ 2-10-Å.
; ÀËÃÎÐÈÒÌ ÏÅÐÅÊÎÄÈÐÎÂÊÈ ÎÑÍÎÂÛÂÀÅÒÑß ÍÀ ÏÐÈÁÀÂËÅÍÈÈ 3 Â ÌËÀÄØÈÉ
; È ÑÒÀÐØÈÉ ÏÎËÓÁÀÉÒÛ. ÅÑËÈ ÐÅÇÓËÜÒÀÒ ÑÏÅÐÅÍÎÑÎÌ 1  3 ÐÀÇÐßÄ (10=7+3), ÒÎ ÇÀÏÈÑÛÂÀÅÌ
; ÍÎÂÎÅ ÇÍÀ×ÅÍÈÅ Â ÐÅÃÈÑÒÐ. ÂÛÏÎËÍßÅÌ 16 ÐÀÇ ÑÄÂÈÃÀß ÁÈÒÛ ÐÅÃÈÑÒÐÎÂ.
BINDEC
MOVLW .16 ;ÇÀÏÈØÅÌ ×ÈÑËÎ ÑÄÂÈÃÎÂ
MOVWF COU ; Ñ×ÅÒ×ÈÊ.
BIDE
BCF STATUS,0 ;ÎÁÍÓËÈÌ ÁÈÒ "Ñ".
RLF TEKL,1 ;ÑÄÂÈÍÅÌ ÏÅÐÅÊÎÄÈÐÓÅÌÎÅ
RLF TEKH,1 ;×ÈÑËÎ ÏÅÐÅÌÅÙÀß ÅÃÎ ÑÒÀÐØÈÉ ÁÈÒ
RLF EDA,1 ;Â ÌËÀÄØÈÉ ÁÈÒ ÐÅÃÈÑÒÐÎÂ
RLF DEA,1 ;ÐÅÇÓËÜÒÀÒÀ.
DECFSZ COU,1 ;ÇÀÔÈÊÑÈÐÓÅÌ ÑÄÂÈà  Ñ×ÅÒ×ÈÊÅ.
GOTO RASDEC ;ÏÐÎÂÅÐÈÌ ÏÎËÓÁÀÉÒÛ ÍÀ ÑÅÌÅÐÊÓ.
GOTO MESTO ;ÅÑËÈ Ñ×ÅÒ×ÈÊ ÏÓÑÒ, ÇÀÏÎËÍÈÌ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
RASDEC
MOVLW EDA ;ÇÀÏÈØÅÌ ÀÄÐÅÑ ÐÅÃÈÑÒÐÀ
MOVWF FSR ;Â ÐÅÃÈÑÒÐ ÊÎÑÂÅÍÍÎÉ ÀÄÐÅÑÀÖÈÈ.
CALL BCD ;ÏÐÎÂÅÐÈÌ ÇÍÀ×ÅÍÈÅ ÐÅÃÈÑÒÐÀ ÍÀ 7.
MOVLW DEA ;ÀÍÀËÎÃÈ×ÍÛÅ ÎÏÅÐÀÖÈÈ ÏÐÎÄÅËÀÅÌ
MOVWF FSR ;Ñ ÄÐÓÃÈÌÈ ÐÅÃÈÑÒÐÀÌÈ.
CALL BCD ;
GOTO BIDE ;ÏÎÉÄÅÌ ÏÎÂÒÎÐßÒÜ ÑÄÂÈÃ.
BCD
MOVLW 3 ;0000 0011
ADDWF 0,0 ;ÏÐÈÁÀÂÈÌ 3 Ê ÐÅÃÈÑÒÐÓ È ÐÅÇÓËÜÒÀÒ
MOVWF TEMP ;ÇÀÏÈØÅÌ ÂÎ ÂÐÅÌÅÍÍÛÉ ÐÅÃÈÑÒÐ.
BTFSC TEMP,3 ;ÏÐÎÂÅÐÈÌ 3 ÁÈÒ È ÅÑËÈ ÎÍ ÐÀÂÅÍ ÍÓËÞ,
MOVWF 0 ;ÏÐÎÏÓÑÊÀÅÌ ÇÀÏÈÑÜ ÐÅÇÓËÜÒÀÒÀ Â ÐÅÃÈÑÒÐ.
MOVLW 30 ;48=0011 0000
ADDWF 0,0 ;ÏÐÈÁÀÂÈÌ 3 Ê ÑÒÀÐØÅÌÓ ÏÎËÓÁÀÉÒÓ ÐÅÃÈÑÒÐÀ È ÐÅÇÓËÜÒÀÒ
BTFSC TEMP,7 ;ÅÑËÈ ÁÈÒ ÅÄÈÍÈ×ÍÛÉ,
MOVWF 0 ;ÒÎ ÇÀÏÈØÅÌ ÍÎÂÎÅ ÇÍÀ×ÅÍÈÅ Â ÐÅÃÈÑÒÐ.
RETURN ;ÂÅÐÍÅÌÑß ÄËß ÇÀÃÐÓÇÊÈ ÍÎÂÎÃÎ ÇÍÀ×ÅÍÈß ÐÅÃÈÑÒÐÀ.
; 18. ÈÇÂËÅÊÀÅÌ ÏÎËÓÁÀÉÒÛ ÈÇ ÐÅÃÈÑÒÐΠÑ×ÅÒÀ  ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MESTO
MOVLWB'00001111';ÈÇÂËÅÊÀÅÌ ÏÎËÓÁÀÉÒÛ
ANDWFDEA,0;Â ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MOVWFCOI;
MOVLWB'11110000';
ANDWFEDA,0 ;
MOVWFDEI ;
SWAPFDEI,1 ;
MOVLWB'00001111';
ANDWFEDA,0;
MOVWFEDI;
CLRFEDA;
CLRFDEA;
;==================================================
; 19. ÑÌÅÍÀ ÈÍÄÈÊÀÖÈÈ ÏÐÈ ÑÌÅÍÅ ÐÅÆÈÌÀ.
INDH
BTFSCFLAG,7;ÅÑËÈ ÊÓÐÑÎÐ ÅÑÒÜ,
CALLYCT;ÒÎ ÈÄÅÌ ÍÀ ÓÑÒÀÍÎÂÊÓ.
MOVLW.10;ÏÓÑÒÎ.
CALLSEG;ÇÀÏÎËÍÈÌ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ.
MOVWFR1;
MOVWFR2;
MOVWFR8;
BTFSSFLAG,6;
MOVLW.11;ÏÐÎ×ÅÐÊ ÑÐÅÄÍÈÉ.
CALLSEG;
MOVWFR5;
BCFFLAG,6;
MOVLW.12;ÏÐÎ×ÅÐÊ ÍÈÆÍÈÉ.
BSFFLAG,6;
MOVFWML;
MOVWFR3;
MOVFWMH;
MOVWFR4;
MOVFWHL;
MOVWFR6;
MOVFWHH;
MOVWFR7;
BSFFLAG,1;ÂÊËÞ×ÈÌ ÐÅÆÈÌ ×ÀÑÎÂ.
CLRFZPT;
INDT
BTFSSPORTA,KY;ÅÑËÈ ÊÍÎÏÊÀ ÍÀÆÀÒÀ,
CALLT00;ÒÎ ÈÄÅÌ ÎÁÍÓËßÒÜ ÒÀÉÌÅÐ.
MOVFWTCL;ÇÀÏÎËÍÈÌ ÐÅÃÈÑÒÐÛ ÈÍÄÈÊÀÖÈÈ
CALLSEG;ÌÈÍÓÒ È ÑÅÊÓÍÄ ÏÐÀÂÛÕ ×ÀÑÎÂ.
MOVFWTCH;
MOVFWTML;
MOVFWTMH;
MOVLW.11;ÏÐÎ×ÅÐÊ.
MOVFWTHL;
MOVFWTHH;
BCFFLAG,1;ÐÅÆÈÌ ×ÀÑÛ ÂÛÊËÞ×ÅÍ.
INDU
MOVFW COI;
MOVFW DEI;
MOVFW EDI;
BSFZPT,4;
; 20. ÐÀÑÏÐÅÄÅËÈÒÅËÜ.
PAC
BTFSSFLAG1,1;ÆÄÅÌ 1 ÑÅÊÓÍÄÓ.
GOTO$-1;
CALLADP;
CALLKHOP;ÍÀ ÏÐÎÂÅÐÊÓ ÊÍÎÏÎÊ.
CALLIND;ÍÀ ÈÍÄÈÊÀÖÈÞ.
BCFFLAG1,1;
GOTOPAC;ÏÎÂÒÎÐÈÌ.
;=====================================================
; 21. ÓÑÒÀÍÎÂÊÀ ÂÐÅÌÅÍÈ.
YC0
INCFML,1;ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ÌÈÍÓÒ.
MOVLW.10;ÍÅ ÁÎËÅÅ 9.
SUBWFML,0;
SKPNC;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 10,
CLRFML;ÒÎ ÎÁÍÓËÈÌ.
YC1
INCFMH,1;ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ÌÈÍÓÒ.
SUBWFMH,0;
SKPNC;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 6,
CLRFMH;ÒÎ ÎÁÍÓËÈÌ.
YC2
INCFHL,1;ÓÂÅËÈ×ÈÌ ÅÄÈÍÈÖÛ ×ÀÑÎÂ.
SUBWFHL,0;
SKPNC;
CLRFHL;ÅÑËÈ ÁÎËÜØÅ, ÒÎ ÎÁÍÓËÈÌ.
MOVFWHH;ÏÅÐÅÊÎÄÈÐÓÅÌ Â ÄÂÎÈ×ÍÛÉ
CALLDEBIN;ÊÎÄ ÄÅÑßÒÊÈ.
ADDWFHL,0;ÏÐÈÁÀÂÈÌ ÅÄÈÍÈÖÛ
MOVWFHOU;ÄÂÎÈ×ÍÎÅ ÇÍÀ×ÅÍÈÅ ÍÅ ÄÎËÆÍÎ
ADDLW-18H;ÏÐÅÂÛØÀÒÜ - 24.
SKPC;ÅÑËÈ ÁÎËÜØÅ ÈËÈ ÐÀÂÍÎ 24,
CLRFHOU;ÒÎ ÎÁÍÓËÈÌ ×ÀÑÛ ÄÂÎÈ×ÍÛÅ
CLRFHL;È ÐÀÇÐßÄÛ ÑÒÀÐØÈÉ
CLRFHH;È ÌËÀÄØÈÉ.
YC3
INCFHH,1;ÓÂÅËÈ×ÈÌ ÄÅÑßÒÊÈ ×ÀÑÎÂ.
MOVLW.3;ÍÅ ÁÎËÅÅ 2.
SUBWFHH,0;
CLRFHH;ÅÑËÈ ÁÎËÜØÅ, ÒÎ ÎÁÍÓËÈÌ.
MOVWFHOU;È ÏÎËÓ×ÈÌ ÄÂÎÈ×ÍÎÅ ×ÈÑËÎ.
ADDLW-18H;
YCE
CLRFCL;ÎÁÍÓËÅÍÈÅ.
CLRFCH;
CLRFML;
END
Ñòðàíèöû: 1, 2, 3, 4