IPB

Çäðàâñòâóéòå, ãîñòü ( Âõîä | Ðåãèñòðàöèÿ )

> Èñõîäíèêè ÏÇÓ: Äðàéâåðíûé ìîäóëü ÁÊ-0010
SuperMax
ñîîáùåíèå 20.10.2009, 15:26
Ñîîáùåíèå #1


Àäìèíèñòðàòîð
*****

Ãðóïïà: Root Admin
Ñîîáùåíèé: 6 286
Ðåãèñòðàöèÿ: 7.1.2006
Èç: Êðàñíîÿðñê
Ïîëüçîâàòåëü ¹: 1




Êîä

;  #############################################################
;  #                                                           #
;  #    Ä Ð À É Â Å Ð Í Û É    Ì Î Ä Ó Ë Ü    Á Ê - 0 0 1 0    #
;  #                                                           #
;  #############################################################


;  ÐÀÇÐÀÁÎÒÀË:  ÄßÁÈÍ Ì.È.
;  ÌÎÑÊÂÀ,  1983 Ã.
;
;  ÏÎÑËÅÄÍßß ÐÅÄÀÊÖÈß:  ÌÀÉ  1984 Ã.



;  ====================================
;  **** ÀÐÃÓÌÅÍÒÛ ÊÎÌÀÍÄÛ EMT DMBK ****
;  ====================================



;    ÊËÀÂÈÀÒÓÐÀ
;    ----------

INDKLW    = 4       ;- ÈÍÈÖÈÀËÈÇÀÖÈß ÄÐÀÉÂÅÐÀ ÊËÀÂÈÀÒÓÐÛ

CTKOD    = 6       ;- ×ÒÅÍÈÅ ÊÎÄÀ Ñ ÊËÀÂÈÀÒÓÐÛ
           ;  ÂÛÕÎÄ:    R0 - ÊÎÄ Â ÌË. ÁÀÉÒÅ

CTSTR    = 10       ;- ×ÒÅÍÈÅ ÑÒÐÎÊÈ Ñ ÊËÀÂÈÀÒÓÐÛ
           ;  ÂÕÎÄ:    R1 - ÀÄÐÅÑ ÁÓÔÅÐÀ ÑÒÐÎÊÈ
           ;        R2 - ÄËÈÍÀ ÑÒÐÎÊÈ (ÌË.Á.)
           ;           - ÑÈÌÂÎË-ÎÃÐÀÍÈ×ÈÒÅËÜ (ÑÒ.Á.)

USTKLC    = 12       ;- ÓÑÒÀÍÎÂÊÀ ÊËÞ×ÅÉ ÊËÀÂÈÀÒÓÐÛ
           ;  ÂÕÎÄ:    R0 - ÍÎÌÅÐ ÊËÞ×À
           ;        R1 - ÀÄÐÅÑ ÒÅÊÑÒÀ ÊËÞ×À


;    TV-ÌÎÍÈÒÎÐ
;    ----------

INDMBK    = 14       ;- ÈÍÈÖÈÀËÈÇÀÖÈß DMBK

FSIM    = 16       ;- ÔÎÐÌÈÐÎÂÀÍÈÅ ÑÈÌÂÎËÀ
           ;  ÂÕÎÄ:    R0 - ÊÎÄ ÑÈÌÂÎËÀ Â ÌË.Á.

FSTR    = 20       ;- ÔÎÐÌÈÐÎÂÀÍÈÅ ÑÒÐÎÊÈ
           ;  ÂÕÎÄ:    R1 - ÀÄÐÅÑ ÑÒÐÎÊÈ
           ;        R2 - ÄËÈÍÀ ÑÒÐÎÊÈ (ÌË.Á.)
           ;           - ÑÈÌÂÎË-ÎÃÐÀÍÈ×ÈÒÅËÜ (ÑÒ.Á.)

ZSIMSS    = 22       ;- ÇÀÏÈÑÜ ÑÈÌÂÎËÀ Â ÑËÓÆÅÁÍÓÞ ÑÒÐÎÊÓ
           ;  ÂÕÎÄ:    R0 - ÊÎÄ ÑÈÌÂÎËÀ (0-ÑÁÐÎÑ ÑÒÐÎÊÈ)
           ;        R1 - ÍÎÌÅÐ ÏÎÇÈÖÈÈ Â ÑÑ

USTKK    = 24       ;- ÓÑÒÀÍÎÂÊÀ ÊÓÐÑÎÐÀ ÏÎ ÊÎÎÐÄÈÍÀÒÀÌ
           ;  ÂÕÎÄ:    R1 - ÊÎÎÐÄÈÍÀÒÀ X
           ;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y

SEMKK    = 26       ;- Ñ'ÅÌ ÊÎÎÐÄÈÍÀÒ ÊÓÐÑÎÐÀ
           ;  ÂÛÕÎÄ:    R1 - ÊÎÎÐÄÈÍÀÒÀ X
           ;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y

FTCK    = 30       ;- ÔÎÐÌÈÐÎÂÀÍÈÅ ÒÎ×ÊÈ
           ;  ÂÕÎÄ:    R0 - 1-ÇÀÏÈÑÜ, 0-ÑÒÈÐÀÍÈÅ
           ;        R1 - ÊÎÎÐÄÈÍÀÒÀ X
           ;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y

FWEKT    = 32       ;- ÔÎÐÌÈÐÎÂÀÍÈÅ ÂÅÊÒÎÐÀ
           ;  ÂÕÎÄ:    R0 - 1-ÇÀÏÈÑÜ, 0-ÑÒÈÐÀÍÈÅ
           ;        R1 - ÊÎÎÐÄÈÍÀÒÀ X
           ;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y

CTSSD    = 34       ;- ×ÒÅÍÈÅ ÑËÎÂÀ ÑÎÑÒÎßÍÈß ÄÈÑÏËÅß
           ;  ÂÛÕÎÄ:    R0 - ÑËÎÂÎ ÑÎÑÒ. ÄÈÑÏË.


;    ÌÀÃÍÈÒÎÔÎÍ
;    ----------

DMAG    = 36       ;- ÄÐÀÉÂÅÐ ÌÀÃÍÈÒÎÔÎÍÀ
           ;  ÂÕÎÄ:    R1 - ÀÄÐÅÑ ÁËÎÊÀ ÏÀÐÀÌÅÒÐÎÂ


;    TLG-ÊÀÍÀË
;    ---------

INDTLG    = 40       ;- ÈÍÈÖÈÀËÈÇÀÖÈß ÄÐÀÉÂÅÐÀ ÒËÃ-ÊÀÍÀËÀ
           ;  ÂÕÎÄ:    R0 - ÍÎÌÅÐ ÑÊÎÐÎÑÒÈ

PDBYT    = 42       ;- ÏÅÐÅÄÀ×À ÁÀÉÒÀ
           ;  ÂÕÎÄ:    R0 - ÌË.Á. ÍÀ ÏÅÐÅÄÀ×Ó

PRBYT    = 44       ;- ÏÐÈÅÌ ÁÀÉÒÀ
           ;  ÂÛÕÎÄ:    R0 - ÌË.Á. ÏÐÈÍßÒ

PDMAS    = 46       ;- ÏÅÐÅÄÀ×À ÌÀÑÑÈÂÀ
           ;  ÂÕÎÄ:    R1 - ÀÄÐÅÑ ÌÀÑÑÈÂÀ
           ;        R2 - ÄËÈÍÀ ÌÀÑÑÈÂÀ

PRMAS    = 50       ;- ÏÐÈÅÌ ÌÀÑÑÈÂÀ
           ;  ÂÕÎÄ:    R1 - ÀÄÐÅÑ ÁÓÔÅÐÀ ÌÀÑÑÈÂÀ
           ;        R2 - ÄËÈÍÀ ÌÀÑÑÈÂÀ


;    ÐÅÇÅÐÂ
;    ------

RW1    = 52
RW2    = 54
RW3    = 56
RW4    = 60
RW5    = 62
RW6    = 64
RW7    = 66
RW8    = 70
RW9    = 72
RW10    = 74
RW11    = 76
RW12    = 100
RW13    = 102
RW14    = 104
RW15    = 106
RW16    = 110



;   ======================
;   *** ÊÎÍÑÒÀÍÒÛ DMBK ***
;   ======================


    AWPZAW    = 4       ;- ÀÄÐ.ÂÅÊÒ.ÏÐÅÐ. ÏÎ ÇÀÂÈÑÀÍÈÞ
    AWPEMT    = 30       ;- ÀÄÐ.ÂÅÊÒ.ÏÐÅÐ. ÏÎ ÊÎÌÀÍÄÅ ÅÌÒ
    APORT    = 177714   ;- ÀÄÐÅÑ ÏÎÐÒÀ
    ASPORT    = 177716   ;- ÀÄÐÅÑ ÑÈÑÒÅÌÍÎÃÎ ÏÎÐÒÀ




;  ============================
;  **** ÎÁËÀÑÒÜ ÑÂßÇÈ DMBK ****
;  ============================



DMBK:    JMP    MNDMBK       ;- ÏÅÐÅÕÎÄ ÍÀ ÌÎÍÈÒÎÐ DMBK


;    -------------------------------
;    ** ÂÕÎÄÛ ÄÐÀÉÂÅÐÀ ÊËÀÂÈÀÒÓÐÛ **
;    -------------------------------

WIDKLW:    .WORD    MIDKLW       ;- ÂÕÎÄ ÈÍÈÖÈÀËÈÇÀÖÈÈ DKLAW
WCTKOD:    .WORD    MCTKOD       ;- ÂÕÎÄ ×ÒÅÍÈß ÊÎÄÀ
WCTSTR:    .WORD    MCTSTR       ;- ÂÕÎÄ ×ÒÅÍÈß ÑÒÐÎÊÈ
WUKLC:    .WORD    MUKLC       ;- ÂÕÎÄ ÓÑÒÀÍÎÂÊÈ ÊËÞ×ÅÉ


;    --------------------------------
;    ** ÂÕÎÄÛ ÄÐÀÉÂÅÐÀ TV-ÌÎÍÈÒÎÐÀ **
;    --------------------------------

WIDMBK:    .WORD    MIDMBK       ;- ÂÕÎÄ ÈÍÈÖÈÀËÈÇÀÖÈÈ DMBK
WFSIM:    .WORD    MFSIM       ;- ÂÕÎÄ ÔÎÐÌÈÐÎÂÀÍÈß ÑÈÌÂÎËÀ
WFSTR:    .WORD    MFSTR       ;- ÂÕÎÄ ÔÎÐÌÈÐÎÂÀÍÈß ÑÒÐÎÊÈ
WZSSS:    .WORD    MZSSS       ;- ÂÕÎÄ ÇÀÏÈÑÈ ÑÈÌÂÎËÀ Â ÑËÓÆ. ÑÒÐÎÊÓ
WUSTKK:    .WORD    MUSTKK       ;- ÂÕÎÄ ÓÑÒÀÍÎÂÊÈ ÊÎÎÐÄÈÍÀÒ ÊÓÐÑÎÐÀ
WSKK:    .WORD    MSKK       ;- ÂÕÎÄ Ñ'ÅÌÀ ÊÎÎÐÄÈÍÀÒ ÊÓÐÑÎÐÀ
WFTCK:    .WORD    MFTCK       ;- ÂÕÎÄ ÔÎÐÌÈÐÎÂÀÍÈß ÒÎ×ÊÈ
WFWEKT:    .WORD    MFWEKT       ;- ÂÕÎÄ ÔÎÐÌÈÐÎÂÀÍÈß ÂÅÊÒÎÐÀ
WCTSSD:    .WORD    MCTSSD       ;- ÂÕÎÄ ×ÒÅÍÈß ÑÑÄ


;    --------------------------------
;    ** ÂÕÎÄÛ ÄÐÀÉÂÅÐÀ ÌÀÃÍÈÒÎÔÎÍÀ **
;    --------------------------------

WDMAG:    .WORD    MDMAG       ;- ÂÕÎÄ ÇÀÏÈÑÈ/×ÒÅÍÈß ÌÀÑÑÈÂÀ


;    -------------------------------
;    ** ÂÕÎÄÛ ÄÐÀÉÂÅÐÀ ÒËÃ-ÊÀÍÀËÀ **
;    -------------------------------

WIDTLG:    .WORD    MIDTLG       ;- ÂÕÎÄ ÈÍÈÖÈÀËÈÇÀÖÈÈ DTLG
WPDBYT:    .WORD    MPDBYT       ;- ÂÕÎÄ ÏÅÐÅÄÀ×È ÁÀÉÒÀ
WPRBYT:    .WORD    MPRBYT       ;- ÂÕÎÄ ÏÐÈÅÌÀ ÁÀÉÒÀ
WPDMAS:    .WORD    MPDMAS       ;- ÂÕÎÄ ÏÅÐÅÄÀ×È ÌÀÑÑÈÂÀ
WPRMAS:    .WORD    MPRMAS       ;- ÂÕÎÄ ÏÐÈÅÌÀ ÌÀÑÑÈÂÀ


;    --------------------------
;    ** ÐÅÇÅÐÂÍÛÅ ÂÕÎÄÛ DMBK **
;    --------------------------

RWDM1:    .WORD    160000
RWDM2:    .WORD    160004
RWDM3:    .WORD    160010
RWDM4:    .WORD    160014
RWDM5:    .WORD    160020
RWDM6:    .WORD    160024
RWDM7:    .WORD    160030
RWDM8:    .WORD    160034
RWDM9:    .WORD    160040
RWDM10:    .WORD    160044
RWDM11:    .WORD    160050
RWDM12:    .WORD    160054
RWDM13:    .WORD    160060
RWDM14:    .WORD    160064
RWDM15:    .WORD    160070
RWDM16:    .WORD    160074





; ==============================
; *****  ÄÈÑÏÅÒ×ÅР Å Ì Ò  *****
; ==============================


DEMT:    MOV    R5,-(SP)

    MOV    2(SP),R5   ;  ÀÄÐÅÑ ÌÎÄÓËß
    MOV    -(R5),R5
    BIC    #177400,R5
    MOV    DMBK(R5),R5

    JSR    PC,(R5)       ;  ÎÁÐÀÙÅÍÈÅ Ê ÌÎÄÓËÞ

    MOV    (SP)+,R5
    RTI





; =====================================
; ***** ÌÎÄÓËÜ ÈÍÈÖÈÀËÈÇÀÖÈÈ DMBK *****
; =====================================


MIDMBK:    CLR    R1       ;  ÓÑÒÀÍÎÂÊÀ ÂÅÊÒÎÐÎÂ
    MOV    #20,R2
1$:    MOV    #100000,(R1)+
    SOB    R2,1$
    MOV    #MNZAW,@#AWPZAW
    MOV    #DEMT,@#AWPEMT
    MOV    #200,@#AWPEMT+2

    MOV    #120,R2       ;  ÑÁÐÎÑ ÏÐÈÇÍÀÊÎÂ
2$:    CLR    (R1)+
    SOB    R2,2$

    EMT    INDKLW       ;- ÈÍÈÖÈÀËÈÇÀÖÈß DKLAW

    INC    DSIMB       ;- ÈÍÈÖÈÀËÈÇÀÖÈß DTVM
    INCB    NMPGT
    COM    MASCW
    COM    MCWSS
    JSR    PC,PPRP1

    MOV    #KDBIT0,DLBIT0   ;- ÈÍÈÖÈÀËÈÇÀÖÈß DMAG
    MOV    #KDBIT1,DLBIT1

    CLR    R0
    EMT    INDTLG       ;- ÈÍÈÖÈÀËÈÇÀÖÈß DTLG

    CLR    @#APORT       ;- ÑÁÐÎÑ ÏÎÐÒÀ
    MOV    #220,@#ASPORT   ;- ÓÑÒÀÍÎÂÊÀ ÑÈÑÒÅÌÍÎÃÎ ÏÎÐÒÀ

    MTPS    R0       ;- ÐÀÇÐÅØÅÍÈÅ ÏÐÅÐÛÂÀÍÈÉ

    RTS    PC





; ======================================
; *****  Ì Î Í È Ò Î Ð    D M B K  *****
; ======================================




MNDMBK:    MOV    #1000,SP   ;- ÓÑÒÀÍÎÂÊÀ ÑÒÅÊÀ
    JSR    PC,MIDMBK

    JSR    PC,@#120000   ;- ÇÀÏÓÑÊ ÔÎÊÀËÀ
    JSR    PC,MIDMBK   ;- ÂÛÕÎÄ ÈÇ ÔÎÊÀËÀ

MNKOM:    JSR    R5,PPCT       ;- "ÌÎÍÈÒÎÐ ÁÊ-0010"
    .WORD    TMON
MNKOM1:    JSR    R5,PPCT       ;- ">"
    .WORD    TPRIGL

    MOV    SP,R1       ;  ÏÐÈÅÌ ÊÎÌÀÍÄÛ
    SUB    #100,R1
    MOV    R1,R5
2$:    EMT    CTKOD
    CMPB    R0,#30       ;- ÀÍÑ
    BNE    1$
    CMP    R5,R1
    BEQ    2$
3$:    CLR    (R5)+
4$:    EMT    FSIM
    BR    2$
1$:    MOV    R0,-(R5)   ;- ÇÀÏÈÑÜ ÊÎÄÀ Â ÁÓÔÅÐ
    TSTB    R5
    BEQ    3$
    CMPB    R0,#12       ;- "ÏÑ"
    BNE    4$
    EMT    FSIM

    MOV    -(R1),R4   ;  ×ÒÅÍÈÅ ÊÎÌÀÍÄÛ
    CLR    R5       ;- ×ÈÑËÎ
    MOV    R4,R3
7$:    CMP    R3,R0       ;- "ÏÑ"
    BEQ    5$
    CMP    R3,#67       ;- ÖÈÔÐÀ
    BHI    6$
    SUB    #60,R3
    BMI    6$
    ASL    R5
    ASL    R5
    ASL    R5
    ADD    R3,R5
6$:    MOV    -(R1),R3   ;- ×ÒÅÍÈÅ ÑËÅÄ.ÑÈÌÂ.
    BR    7$

5$:    BIC    #240,R4       ;  ÀÍÀËÈÇ ÊÎÌÀÍÄÛ
    CMPB    R4,#124       ;- "T"
    BHI    10$
    SUB    #114,R4       ;- "L"
    BMI    11$
    ASL    R4

    MOV    MNKOMT(R4),R1   ;  ÏÅÐÅÄÀ×À ÓÏÐÀÂËÅÍÈß
    JSR    PC,(R1)
    BR    MNKOM1

11$:    ADD    #13,R4       ;- A : K
    BPL    MNDMBK
    BR    MNKOM1

10$:    JSR    PC,@#160110   ;- > T
    BR    MNKOM1

MNKOMT:    .WORD    PCTTLG       ;- "L"
    .WORD    PCTMAG       ;- "M"
    .WORD    160110       ;- "N"
    .WORD    160110       ;- "O"
    .WORD    140000       ;- "P"
    .WORD    160110       ;- "Q"
    .WORD    160104       ;- "R"
    .WORD    PSTART       ;- "S"
    .WORD    160100       ;- "T"



;    -----------------------------------
;    ** 0. ÎÁÐÀÁÎÒÊÀ ÇÀÂÈÑÀÍÈß È ÑÒÎÏ **
;    -----------------------------------

MNZAW:    MOV    #1000,SP
    MOV    #220,@#ASPORT
    EMT    INDKLW
    BR    MNKOM


;    -----------------------------
;    ** 1. ×ÒÅÍÈÅ ÔÀÉËÀ Ñ ËÈÍÈÈ **
;    -----------------------------

PCTTLG:    EMT    PRBYT       ;  ÓÑÒÀÍÎÂÊÀ ÑÂßÇÈ
    EMT    PDBYT

    MOV    #BUFSTA,R1   ;  ÏÐÈÅÌ ÀÄÐÅÑÀ È ÄËÈÍÛ
    MOV    #4,R2
    EMT    PRMAS
    TST    R5
    BEQ    1$
    MOV    R5,BUFSTA

1$:    MOV    BUFSTA,R1   ;  ÏÐÈÅÌ ÌÀÑÑÈÂÀ
    MOV    BUFDL,R2
    EMT    PRMAS
    JSR    R5,PPCT       ;- ÏÅ×ÀÒÜ ÑÎÎÁÙÅÍÈß
    .WORD    TFZ

    RTS    PC


;    -----------------------------------
;    ** 2. ×ÒÅÍÈÅ ÔÀÉËÀ Ñ ÌÀÃÍÈÒÎÔÎÍÀ **
;    -----------------------------------

PCTMAG:    MOV    #BPDMAG,R1   ;  ÇÀÃÐÓÇÊÀ BPDMAG
    MOV    #3,(R1)+   ;- ÊÎÌÀÍÄÀ
    MOV    R5,(R1)+   ;- ÀÄÐÅÑ
    CLR    (R1)+       ;- ÄËÈÍÀ
    JSR    R5,PPCT       ;- "ÈÌß ÔÀÉËÀ?"
    .WORD    TIMF
    MOV    #5020,R2
    EMT    CTSTR
    DEC    R1
2$:    MOVB    #40,(R1)+
    DEC    R2
    BPL    2$

1$:    MOV    #BPDMAG,R1   ;  ×ÒÅÍÈÅ ÔÀÉËÀ
    EMT    DMAG

    MOVB    1(R1),R0   ;  ÀÍÀËÈÇ ÎÒÂÅÒÀ
    BEQ    4$
    DEC    R0
    BNE    3$
    JSR    PC,5$       ;- ÏÅ×ÀÒÜ ÈÌ. ÒÅÊ. ÔÀÉËÀ
    MOV    #12,R0
    EMT    FSIM
    BR    1$

3$:    JSR    R5,PPCT       ;- "*ÎØÈÁÊÀ*"
    .WORD    TOH
    BR    KCTMAG

4$:    JSR    R5,PPCT       ;- "ÇÀÃÐÓÆÅÍ ÔÀÉË "
    .WORD    TZF
5$:    ADD    #32,R1
    MOV    #20,R2
    EMT    FSTR

KCTMAG:    RTS    PC


;    --------------
;    ** 3. ÑÒÀÐÒ **
;    --------------

PSTART:    TST    R5
    BNE    1$
    MOV    BUFSTA,R5   ;- ÑÒÀÐÒÎÂÛÉ ÀÄÐÅÑ
1$:    JSR    PC,(R5)

    RTS    PC


;    ----------------------
;    ** 4. ÏÅ×ÀÒÜ ÒÅÊÑÒÀ **
;    ----------------------

PPCT:    MOV    (R5)+,R3
    BR    1$
2$:    EMT    FSIM
1$:    MOVB    (R3)+,R0
    BNE    2$

    RTS    R5



;   =====================
;   *** ÄÀÍÍÛÅ MNDMBK ***
;   =====================


TMON:    .BYTE    12,355,357,356,351,364,357,362,40   ;  ÌÎÍÈÒÎÐ ÁÊ-0010
    .BYTE    342,353,55,60,60,61,60,0
TPRIGL:    .BYTE    12,12,76,40,0               ;  >
TIMF:    .BYTE    351,315,321,40,306,301,312,314,301,77,40,0;  ÈÌß ÔÀÉËÀ?
TZF:    .BYTE    12,372,301,307,322,325,326,305,316,40   ;  ÇÀÃÐÓÆÅÍ ÔÀÉË
    .BYTE    306,301,312,314,40,0
TFZ:    .BYTE    12,346,301,312,314,40           ;  ÔÀÉË ÇÀÃÐÓÆÅÍ
    .BYTE    332,301,307,322,325,326,305,316,0
TOH:    .BYTE    12,52,357,373,351,342,353,341,52,0   ;  *ÎØÈÁÊÀ*
    .EVEN



--------------------
Æèâû áóäåì - Íå ïîìðåì !
Ïîëüçîâàòåëü â îôëàéíåÊàðòî÷êà ïîëüçîâàòåëÿÎòïðàâèòü ëè÷íîå ñîîáùåíèå
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ
 
Îòâåòèòü â ýòó òåìóÎòêðûòü íîâóþ òåìó
Îòâåòîâ
SuperMax
ñîîáùåíèå 20.10.2009, 15:31
Ñîîáùåíèå #2


Àäìèíèñòðàòîð
*****

Ãðóïïà: Root Admin
Ñîîáùåíèé: 6 286
Ðåãèñòðàöèÿ: 7.1.2006
Èç: Êðàñíîÿðñê
Ïîëüçîâàòåëü ¹: 1




Êîä







; ======================================
; ***** ÌÎÄÓËÜ ÔÎÐÌÈÐÎÂÀÍÈß ÑÒÐÎÊÈ *****
; ======================================



;    ÂÕÎÄ:    R1 - ÀÄÐÅÑ ÑÒÐÎÊÈ
;        R2 - ÄËÈÍÀ ÑÒÐÎÊÈ (ÌË.Á.)
;           - ÑÈÌÂÎË - ÎÃÐÀÍÈ×ÈÒÅËÜ (ÑÒ.Á.)


MFSTR:    MOV    R0,-(SP)
    MOV    R3,-(SP)

    MOV    R2,R3       ;  ÏÎÄÃÎÒÎÂÊÀ ÎÃÐÀÍÈ×ÈÒÅËÅÉ
    SWAB    R3
    BIC    #177400,R2

1$:    MOVB    (R1)+,R0   ;  ÇÀÏÈÑÜ ÑÒÐÎÊÈ
    JSR    PC,MFSIM
    CMPB    R0,R3
    BEQ    KMFSTR
    SOB    R2,1$

KMFSTR:    MOV    (SP)+,R3
    MOV    (SP)+,R0
    RTS    PC





; ======================================
; ***** ÌÎÄÓËÜ ÇÀÏÈÑÈ ÑÈÌÂÎËÀ Â ÑÑ *****
; ======================================


;    ÂÕÎÄ:    R0 - ÊÎÄ ÑÈÌÂÎËÀ (0 - ÑÁÐÎÑ ÑÒÐÎÊÈ)
;        R1 - ÍÎÌÅÐ ÏÎÇÈÖÈÈ Â ÑÑ


MZSSS:    JSR    R4,PSREG

    TST    R0
    BNE    1$

    JSR    PC,PFSSTR   ;  ÑÁÐÎÑ ÑÑ
    BR    KMZSSS

1$:    CMPB    R0,#177       ;  ÏÎÄÃÎÒ. ÀÄÐ. ÈÇÎÁÐÀÆ.
    BHI    3$
    CMPB    R0,#10
    BNE    4$
    MOV    #21,R0
4$:    SUB    #20,R0
    BMI    KMZSSS
    BR    5$
3$:    CMPB    R0,#237
    BLOS    KMZSSS
    SUB    #60,R0

5$:    JSR    PC,PFSSS   ;  ÔÎÐÌÈÐÎÂÀÍÈÅ ÑÈÌÂÎËÀ

KMZSSS:    JSR    R4,PWREG
    RTS    PC


;    ----------------------------------
;    ** 1. ÔÎÐÌÈÐÎÂÀÍÈÅ ÑÈÌÂÎËÀ Â ÑÑ **
;    ----------------------------------

PFSSS:    MOV    R1,-(SP)   ;  R0 - ÑÌÅÙÅÍÈÅ ÈÇÎÁÐÀÆÅÍÈß
    MOV    R2,-(SP)   ;  R1 - ÍÎÌÅÐ ÏÎÇÈÖÈÈ Â ÑÒÐÎÊÅ

    TSTB    PRCW       ;  ÏÎÄÃ. ÀÄÐ.
    BEQ    1$
    ASL    R1
1$:    BIC    #177700,R1
    ADD    BAZVP,R1
    SUB    #1700,R1
    BIC    #140000,R1
    ADD    ANVP,R1

    MOV    AS,-(SP)   ;  ÔÎÐÌÈÐÎÂÀÍÈÅ ÑÈÌÂÎËÀ
    MOV    R1,AS
    BIC    #177400,R0
    JSR    PC,PFSIM
    MOV    (SP)+,AS

KFSSS:    MOV    (SP)+,R2
    MOV    (SP)+,R1
    RTS    PC





; ==============================================
; ***** ÌÎÄÓËÜ ÓÑÒÀÍÎÂÊÈ ÊÎÎÐÄÈÍÀÒ ÊÓÐÑÎÐÀ *****
; ==============================================


;    ÂÕÎÄ:    R1 - ÊÎÎÐÄÈÍÀÒÀ X
;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y


MUSTKK:    JSR    R4,PSREG
    JSR    PC,PSTK
    MOV    2(SP),R1
    MOV    4(SP),R2

    TSTB    PRCW       ;  ÏÎÄÃ. ÊÎÎÐÄ. X
    BEQ    1$
    ASL    R1

1$:    MOV    #6,R0       ;  ÏÎÄÃ. ÊÎÎÐÄ. Y
2$:    ASL    R2
    SOB    R0,2$

    TSTB    PRGRAF
    BNE    PUKGK


;    ------------------------------------------------
;    ** 1. ÓÑÒÀÍÎÂÊÀ ÊÎÎÐÄÈÍÀÒ ÑÈÌÂÎËÜÍÎÃÎ ÊÓÐÑÎÐÀ **
;    ------------------------------------------------

PUKSK:    BIC    #177700,R1   ;  ÏÎÄÃ. ÊÎÎÐÄ. X

1$:    SUB    KSVP,R2       ;  ÏÎÄÃ. ÊÎÎÐÄ. Y
    BPL    1$
2$:    ADD    KSVP,R2
    BMI    2$

    ADD    R1,R2       ;  ÔÎÐÌ. ÀÄÐ. ÑÈÌÂÎËÀ
    MOV    R2,NOMSIM
    CLR    R5
    JSR    PC,PFASIM

    BR    KUSTKK


;    -------------------------------------------------
;    ** 2. ÓÑÒÀÍÎÂÊÀ ÊÎÎÐÄÈÍÀÒ ÃÐÀÔÈ×ÅÑÊÎÃÎ ÊÓÐÑÎÐÀ **
;    -------------------------------------------------

PUKGK:    BIC    #177000,R1   ;  ÏÎÄÃ. ÊÎÎÐÄ. X
1$:    MOV    R1,R3
    ASR    R1
    ASR    R1
    ASR    R1

    MOVB    NMPGT,R0   ;  ÏÎÄÃ. MASPGT
    BIC    #177770,R3
    BEQ    2$
3$:    ASL    R0
    SOB    R3,3$
2$:    MOVB    R0,MASPGT

4$:    SUB    DGPB,R2       ;  ÏÎÄÃ. ÊÎÎÐÄ. Y
    BPL    4$
5$:    ADD    DGPB,R2
    BMI    5$

    ADD    R1,R2       ;  ÂÛ×ÈÑËÅÍÈÅ AGTVP
    MOV    R2,AGTVP

    CLR    R1       ;  ÂÛ×. AGT
    CLR    R2
    JSR    PC,PFAGT

KUSTKK:    JSR    PC,PFK
    JSR    R4,PWREG
    RTS    PC





; ==========================================
; ***** ÌÎÄÓËÜ Ñ'ÅÌÀ ÊÎÎÐÄÈÍÀÒ ÊÓÐÑÎÐÀ *****
; ==========================================


;    ÂÛÕÎÄ:    R1 - ÊÎÎÐÄÈÍÀÒÀ X
;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y


MSKK:    MOV    R0,-(SP)

    TSTB    PRGRAF
    BNE    PSKGK


;    -------------------------------------------
;    ** 1. Ñ'ÅÌ ÊÎÎÐÄÈÍÀÒ ÑÈÌÂÎËÜÍÎÃÎ ÊÓÐÑÎÐÀ **
;    -------------------------------------------

PSKSK:    MOV    NOMSIM,R1   ;  ÊÎÎÐÄ. X
    MOV    R1,R2
    BIC    #177700,R1

    BR    PSK1


;    --------------------------------------------
;    ** 2. Ñ'ÅÌ ÊÎÎÐÄÈÍÀÒ ÃÐÀÔÈ×ÅÑÊÎÃÎ ÊÓÐÑÎÐÀ **
;    --------------------------------------------

PSKGK:    MOV    AGTVP,R1   ;  ÊÎÎÐÄ. X
    MOV    R1,R2
    BIC    #177700,R1
    ASL    R1
    ASL    R1
    ASL    R1
    MOVB    MASPGT,R0
2$:    ASR    R0
    BCS    PSK1
    INC    R1
    BR    2$

PSK1:    TSTB    PRCW
    BEQ    3$
    ASR    R1

3$:    BIC    #77,R2       ;  ÊÎÎÐÄ. Y
    MOV    #6,R0
4$:    ASR    R2
    SOB    R0,4$

    MOV    (SP)+,R0
    RTS    PC





; =====================================
; ***** ÌÎÄÓËÜ ÔÎÐÌÈÐÎÂÀÍÈß ÒÎ×ÊÈ *****
; =====================================


;    ÂÕÎÄ:    R0 - 1-ÇÀÏÈÑÜ, 0-ÑÒÈÐÀÍÈÅ
;        R1 - ÊÎÎÐÄÈÍÀÒÀ X
;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y


MFTCK:    MOV    R1,BUFX       ;  ÑÎÕÐ. ÊÎÎÐÄ.
    MOV    R2,BUFY
    MOVB    R0,PRZTCK

MFTCK1:    JSR    R4,PSREG   ;  ÑÎÕÐ. ÐÅÃ.

    TSTB    PRCW       ;  ÏÎÄÃ. ÊÎÎÐÄ. X
    BEQ    1$
    ASL    R1
    BCS    KMFTCK
1$:    CMP    R1,#1000
    BHIS    KMFTCK

    MOV    #6,R0       ;  ÏÎÄÃ. ÊÎÎÐÄ. Y
2$:    ASL    R2
    BCS    KMFTCK
    SOB    R0,2$
    CMP    R2,DGPB
    BHIS    KMFTCK

    MOV    R1,R3       ;  ÔÎÐÌ. ÀÄÐ. ÒÎ×ÊÈ
    ASR    R1
    ASR    R1
    ASR    R1
    ADD    R2,R1
    ADD    BAZVP,R1
    BIC    #140000,R1
    ADD    ANVP,R1

    MOVB    NMPGT,R2   ;  ÔÎÐÌÈÐÎÂÀÍÈÅ ÌÀÑÊÈ ÒÎ×ÊÈ
    BIC    #177770,R3
    BEQ    3$
4$:    ASL    R2
    SOB    R3,4$

3$:    MOVB    (R1),R0       ;  ÔÎÐÌÈÐÎÂÀÍÈÅ ÒÎ×ÊÈ
    BICB    R2,R0
    MOV    MASCW,R3
    TSTB    PRZTCK
    BNE    5$
    MOV    FON,R3
5$:    COM    R2
    BIC    R2,R3
    BISB    R3,R0
    MOVB    R0,(R1)

KMFTCK:    JSR    R4,PWREG   ;  ÂÎÑÑÒ. ÐÅÃ.
    RTS    PC





; =======================================
; ***** ÌÎÄÓËÜ ÔÎÐÌÈÐÎÂÀÍÈß ÂÅÊÒÎÐÀ *****
; =======================================


;    ÂÕÎÄ:    R0 - 1-ÇÀÏÈÑÜ, 0-ÑÒÈÐÀÍÈÅ
;        R1 - ÊÎÎÐÄÈÍÀÒÀ X
;        R2 - ÊÎÎÐÄÈÍÀÒÀ Y


MFWEKT:    JSR    R4,PSREG
    MOVB    R0,PRZTCK

    MOV    R1,R3       ;  ÇÀÌÅÍÀ ÊÎÎÐÄÈÍÀÒ
    MOV    R2,R4
    MOV    BUFX,R1
    MOV    BUFY,R2
    MOV    R3,BUFX
    MOV    R4,BUFY

    CLR    R0       ;  ÎÏÐÅÄ. DX È ÍÀÏÐÀÂËÅÍÈß
    SUB    R1,R3
    BMI    1$
    BEQ    2$
    INC    R0
    BR    2$
1$:    DEC    R0       ;- ÍÀÏÐÀÂËÅÍÈÅ
    NEG    R3       ;- DX

2$:    CLR    R5       ;  ÎÏÐÅÄ. DY È ÍÀÏÐÀÂËÅÍÈß
    SUB    R2,R4
    BMI    3$
    BEQ    4$
    INC    R5
    BR    4$
3$:    DEC    R5       ;- ÍÀÏÐÀÂËÅÍÈÅ
    NEG    R4       ;- DY

4$:    CMP    R4,R3       ;  ÎÏÐÅÄ. ÄËÈÍÍÎÉ ÊÎÎÐÄ.
    BHI    5$
    MOV    R5,-(SP)   ;- DX >= DY
    CLR    -(SP)
    MOV    R3,R5
    MOV    R4,R3
    MOV    R5,R4       ;- R4 - ÄËÈÍÍÀß ÊÎÎÐÄ.
    CLR    R5
    BR    6$
5$:    CLR    -(SP)       ;- DX < DY
    MOV    R0,-(SP)
    CLR    R0       ;- R0,R5 - DÑÅÃÌ. (SP) - DÊÎÎÐÄ.

6$:    CLR    -(SP)       ;  ÎÏÐÅÄ. ÏÀÐÀÌ. ÂÅÊÒÎÐÀ
    TST    R3
    BNE    7$
    INC    R3       ;- ÎÑÅÂÎÉ ÂÅÊÒÎÐ
    SUB    #12,SP
    BR    8$
7$:    SUB    R3,R4       ;- ÂÛ×ÈÑËÅÍÈÅ ÄËÈÍÛ ÑÅÃÌ.
    BMI    9$
    INC    (SP)       ;- ÄËÈÍÀ ÑÅÃÌÅÍÒÀ
    BR    7$
9$:    ADD    R3,R4       ;- R3 - Ñ×. ÑÅÃÌ. R4 - ÎÑÒÀÒÎÊ
    MOV    R3,-(SP)   ;- ÊÎËÈ×. ÑÅÃÌ.
    MOV    R3,-(SP)
    ASR    (SP)       ;- ÊÎËÈ×. ÑÅÃÌ./2
    MOV    R4,-(SP)   ;- ÎÑÒÀÒÎÊ
    CLR    -(SP)
    CLR    -(SP)
    CLR    R4

11$:    ADD    4(SP),2(SP)   ;  ÎÏÐÅÄ. ÄËÈÍÛ ÑÅÃÌ.
    BEQ    10$
    CMP    2(SP),6(SP)
    BLE    10$
    INC    R4
    SUB    10(SP),2(SP)
10$:    ADD    12(SP),R4
    MOV    R4,(SP)
    ASR    R4
    SUB    R4,(SP)       ;- ÄËÈÍÀ 2-ÃÎ ÏÎËÓÑÅÃÌ.

    JSR    PC,PFSEGM   ;- ÔÎÐÌ. 1-ÃÎ ÏÎËÓÑÅÃÌ.
    ADD    14(SP),R1
    ADD    16(SP),R2
    MOV    (SP),R4
8$:    JSR    PC,PFSEGM   ;- ÔÎÐÌ. 2-ÃÎ ÏÎËÓÑÅÃÌ.

    SOB    R3,11$       ;  ÊÎÍÅÖ ÔÎÐÌ. ÑÅÃÌ.

    ADD    #20,SP
    JSR    R4,PWREG
    RTS    PC

PFSEGM:    TST    R4       ;  ÔÎÐÌÈÐÎÂÀÍÈÅ ÑÅÃÌÅÍÒÀ
    BEQ    KFSEGM
1$:    ADD    R0,R1
    ADD    R5,R2
    JSR    PC,MFTCK1
    SOB    R4,1$
KFSEGM:    RTS    PC





; =============================
; ***** ÌÎÄÓËÜ ×ÒÅÍÈß ÑÑÄ *****
; =============================


;    ÂÛÕÎÄ:    R0 - ÑËÎÂÎ ÑÎÑÒÎßÍÈß ÄÈÑÏËÅß


MCTSSD:    MOV    R1,-(SP)

    CLR    R0       ;  ÏÎÄÃ. ÏÀÐÀÌ.
    MOV    #SYSPR,R1

1$:    SEC           ;  ÓÑÒÀÍÎÂÊÀ ÔËÀÆÊÎÂ
2$:    ROR    R0
    BCS    KCTSSD
    TSTB    (R1)+
    BNE    1$
    BR    2$

KCTSSD:    MOV    (SP)+,R1
    RTS    PC




;  ======================================
;  **** ÁÈÁËÈÎÒÅÊÀ ÏÎÄÏÐÎÃÐÀÌÌ DTVMN ****
;  ======================================



;    -------------------------------
;    ** 0.1. ÑÎÕÐÀÍÅÍÈÅ ÐÅÃÈÑÒÐÎÂ **
;    -------------------------------


PSREG0:    MOV    #220,@#ASPORT   ;- ÑÁÐÎÑ ÃÒ. ÒËÃ.

PSREG:    MOV    R3,-(SP)
    MOV    R2,-(SP)
    MOV    R1,-(SP)
    MOV    R0,-(SP)
    MOV    R4,-(SP)

    RTS    R4


;    -----------------------------------
;    ** 0.2. ÂÎÑÑÒÀÍÎÂËÅÍÈÅ ÐÅÃÈÑÒÐÎÂ **
;    -----------------------------------

PWREG:    MOV    (SP)+,R0
    MOV    (SP)+,R0
    MOV    (SP)+,R1
    MOV    (SP)+,R2
    MOV    (SP)+,R3

    RTS    R4


;    ----------------
;    ** 0.3. ÑÁÐÎÑ **
;    ----------------

PSBR:    JSR    PC,PFINDT   ;  ÓÑÒ.ÈÍÄ.ÒÀÁ.

    CLR    NOMSIM       ;  ÔÎÐÌ. AS
    JSR    PC,PFASIM

    MOV    FON,R0       ;  ÑÁÐÎÑ VP
    MOV    AS,R3
    MOV    DGPB,R2
    ASR    R2
1$:    MOV    R0,(R3)+
    TST    R3
    BPL    2$
    SUB    DVPB,R3
2$:    SOB    R2,1$

PSBR1:    CLR    R5       ;  ÔÎÐÌ. AGT
    JSR    PC,PFAGT1
    CLR    SCTVS
    MOVB    NMPGT,MASPGT

    JSR    PC,PFK       ;  ÔÎÐÌ. ÊÓÐÑÎÐÀ

    RTS    PC


;    ----------------------------------------
;    ** 0.4. ÔÎÐÌÈÐÎÂÀÍÈÅ ÑËÓÆÅÁÍÎÉ ÑÒÐÎÊÈ **
;    ----------------------------------------

PFSSTR:    JSR    PC,PFINDT   ;  ÔÎÐÌ. ÈÍÄ. ÒÀÁ.

    MOV    MCWSS,R1   ;  ÔÎÐÌÈÐ. ×ÅÐÒÛ
    JSR    PC,PZTVSW

    MOV    FONSS,R1   ;  ÑÁÐÎÑ ÈÍÄÈÊÀÒÎÐÎÂ
    MOV    #KTVSSS-4,R4
1$:    JSR    PC,PZTVSW
    SOB    R4,1$

PUINDR:    CLR    R0       ;  ÓÑÒÀÍÎÂÊÀ ÈÍÄÈÊÀÒÎÐÎÂ
    CLR    SCKOD
    MOV    #6,R2
2$:    MOV    R0,-(SP)
    MOV    R2,-(SP)
    JSR    PC,PFINDR
    MOV    (SP)+,R2
    MOV    (SP)+,R0
    INC    R0
    SOB    R2,2$

    RTS    PC


;    -----------------------------------------
;    ** 0.5. ÔÎÐÌÈÐÎÂÀÍÈÅ ÈÍÄÈÊÀÒÎÐÀ ÐÅÆÈÌÀ **
;    -----------------------------------------

PFINDR:    INC    SCUIND       ;  ÓÑÒ. ÏÐÈÇÍ. ÔÎÐÌ. ÈÍÄ.
    TST    SCKOD
    BNE    KFINDR
    CLR    SCUIND

    MOV    #PRRUS,R1   ;  ÂÕÎÄ:  R0 - ÍÎÌÅÐ ÈÍÄ.
    ADD    R0,R1
    ASL    R0
    ADD    R0,PC
    BR    1$
    BR    2$
    BR    3$
    BR    4$
    BR    5$
    BR    6$

1$:    MOV    #LAT,R3       ;  ÐÓÑ/ËÀÒ
    TSTB    (R1)
    BEQ    7$
    MOV    #RUS,R3
    BR    7$

2$:    TSTB    (R1)       ;  ÏÎÄ×.
    BEQ    8$
    MOV    #PODC,R3
    BR    7$

3$:    TSTB    (R1)       ;  ÈÍÂ. Ñ.
    BEQ    8$
    MOV    #INW,R3
    BR    7$

4$:    TSTB    (R1)       ;  ÈÍÄ. ÑÓ
    BEQ    8$
    MOV    #ISU,R3
    BR    7$

5$:    TSTB    (R1)       ;  ÁËÎÊ. ÐÅÄ.
    BEQ    8$
    MOV    #BLR,R3
    BR    7$

6$:    TSTB    (R1)       ;  ÃÐÀÔ/ÇÀÏ/ÑÒÈÐ
    BEQ    8$
    TSTB    PRZAP
    BEQ    9$
    MOV    #ZAP,R3
    BR    7$
9$:    MOV    #GRAF,R3
    TSTB    PRSTIR
    BEQ    7$
    MOV    #STIR,R3
    BR    7$

8$:    MOV    #SBRIND,R3   ;  ÑÁÐÎÑ ÈÍÄÈÊ.

7$:    ASL    R0       ;  ÏÎÄÃ. ÏÀÐÀÌ. ÈÍÄ.
    ADD    #4,R0
    MOV    #100,R1
    TSTB    PRCWSS
    BEQ    10$
    ASR    R1
10$:    SUB    R0,R1
    MOV    #4,R2

    MOV    FON,-(SP)   ;  ÑÎÕÐÀÍÅÍÈÅ ÏÐÈÇÍÀÊÎÂ
    MOV    MASCW,-(SP)
    MOV    PRCW,-(SP)
    MOV    PRPODC,-(SP)

    MOV    FONSS,FON   ;  ÓÑÒÀÍÎÂÊÀ ÏÐÈÇÍÀÊÎÂ ÑÑ
    MOV    MCWSS,MASCW
    MOVB    PRCWSS,PRCW
    MOV    PRPSSS,PRPODC

11$:    MOVB    (R3)+,R0   ;  ÔÎÐÌÈÐÎÂÀÍÈÅ ÈÍÄÈÊÀÒÎÐÀ
    MOV    R3,-(SP)
    JSR    PC,PFSSS
    MOV    (SP)+,R3
    INC    R1
    SOB    R2,11$

    MOV    (SP)+,PRPODC   ;  ÂÎÑÑÒ. ÏÐÈÇÍÀÊÎÂ
    MOV    (SP)+,PRCW
    MOV    (SP)+,MASCW
    MOV    (SP)+,FON

KFINDR:    RTS    PC


;    --------------------------------------------
;    ** 0.6. ÔÎÐÌÈÐÎÂÀÍÈÅ ÈÍÄÈÊÀÒÎÐÀ ÒÀÁÓËßÖÈÈ **
;    --------------------------------------------

PFINDT:    MOV    FONSS,R1   ;  ÑÁÐÎÑ ÈÍÄÈÊÀÒÎÐÀ
    MOV    BAZVP,R3
    ADD    ANVP,R3
    MOV    #3,R4
10$:    JSR    PC,PZTVSW
    SOB    R4,10$

    MOV    #20,R4       ;  ÓÑÒ. ÄËÈÍÛ ÑËÎÂÀ
    TSTB    PRCW
    BEQ    1$
    ASL    R4

1$:    CLR    R5       ;  ÏÎÈÑÊ ÏÎÇÈÖÈÈ ÒÀÁÓËßÖÈÈ
7$:    CLR    R2
    MOV    MTAB(R5),R0
4$:    ROR    R0
    BCS    2$
    BEQ    3$
6$:    INC    R2
    BR    4$

2$:    MOV    R2,R1       ;  ÓÑÒÀÍÎÂÊÀ ÈÍÄÈÊÀÒÎÐÀ
    TSTB    PRCW
    BNE    5$
    ADD    R3,R1
    MOVB    MCWSS,(R1)
    BR    6$
5$:    ASL    R1
    ADD    R3,R1
    MOV    MCWSS,(R1)
    BR    6$

3$:    ADD    #2,R5       ;  ÈÇÌÅÍÅÍÈÅ ÀÄÐÅÑÎÂ
    ADD    R4,R3
    BIT    #77,R3
    BNE    7$
    SUB    #100,R3

    RTS    PC


;    -------------------------------
;    ** 0.7. ÔÎÐÌÈÐÎÂÀÍÈÅ ÊÓÐÑÎÐÀ **
;    -------------------------------

PFK:               ;  ÔÎÐÌÈÐ. È ÑÒÈÐ. ÊÓÐÑÎÐÀ
PSTK:    TSTB    PRGRAF
    BNE    1$
    JSR    PC,PFSK       ;  ÑÈÌÂ. ÊÓÐÑÎÐ
    MOV    #KPOWTS,BKPOWT
    BR    KFK
1$:    JSR    PC,PFGK       ;  ÃÐÀÔ. ÊÓÐÑÎÐ
    MOV    #KPOWTG,BKPOWT

KFK:    RTS    PC


;    ---------------------------------------------
;    ** 0.8. ÐÅÄÀÊÒÈÐÎÂÀÍÈÅ ÑÈÌÂÎËÜÍÎÃÎ ÊÓÐÑÎÐÀ **
;    ---------------------------------------------

PREDSK:    JSR    PC,PSTSK
    CLR    R5
    JSR    PC,PFASIM
    JSR    PC,PFSK

    RTS    PC


;    ------------------------
;    ** 0.9. ÑÁÐÎÑ ÑÈÌÂÎËÀ **
;    ------------------------

PSBRS:    MOV    FON,R0       ;  ÏÎÄÃ. ÏÀÐÀÌ.
    MOV    AS,R3
    MOV    #12,R2

3$:    TSTB    PRCW       ;  ÇÀÏÈÑÜ ÔÎÍÀ
    BNE    1$
    MOVB    R0,(R3)
    BR    2$
1$:    MOV    R0,(R3)

2$:    JSR    PC,PFTAN   ;  ÈÇÌÅÍÅÍÈÅ ÀÄÐ.
    SOB    R2,3$

    RTS    PC


;    ---------------------------------------------
;    ** 0.10. ÔÎÐÌÈÐÎÂÀÍÈÅ ÒÅÊÓÙÅÃÎ ÀÄÐÅÑÀ ÂÍÈÇ **
;    ---------------------------------------------

PFTAN:    ADD    #DTVSTB,R3
    BPL    KFTAN
    SUB    DVPB,R3

KFTAN:    RTS    PC


;    --------------------------------------
;    ** 0.11. ÇÀÏÎËÍÅÍÈÅ TV-ÑÒÐÎÊÈ ÂÂÅÐÕ **
;    --------------------------------------

PZTVSW:    MOV    #DTVSTS,R2   ;  R1 - ÔÎÍ, R3 - ÀÄÐÅÑ
    CMP    R3,ANVP
    BHI    1$
    ADD    DVPB,R3
1$:    MOV    R1,-(R3)
    SOB    R2,1$

    RTS    PC


;    -------------------------------------
;    ** 0.12. ÇÀÏÎËÍÅÍÈÅ TV-ÑÒÐÎÊÈ ÂÍÈÇ **
;    -------------------------------------

PZTVSN:    MOV    #DTVSTS,R2   ;  R1 - ÔÎÍ, R3 - ÀÄÐÅÑ
    TST    R3
    BPL    1$
    SUB    DVPB,R3
1$:    MOV    R1,(R3)+
    SOB    R2,1$

    RTS    PC


;    -----------------------
;    ** 0.13. ÑÄÂÈÃ ÂÂÅÐÕ **
;    -----------------------

PSDWW:    MOV    R1,R3       ;  ÏÎÄÃÎÒÎÂÊÀ ÀÄÐÅÑÎÂ
    SUB    #DSSTRB,R3
    CMP    R3,ANVP
    BHIS    1$
    ADD    DVPB,R3

1$:    TST    R2       ;  ÏÎÑËÅÄÍßß ÑÒÐÎÊÀ
    BEQ    PSBRSN

5$:    MOV    #DTVSTS,R4   ;  ÑÄÂÈÃ
2$:    MOV    (R1)+,(R3)+
    SOB    R4,2$
    TST    R1
    BPL    3$
    SUB    DVPB,R1
    BR    4$
3$:    TST    R3
    BPL    4$
    SUB    DVPB,R3
4$:    SOB    R2,5$

PSBRSN:    MOV    #KTVSS,R4   ;  ÑÁÐÎÑ ÑÒÐÎÊÈ ÂÍÈÇ
    MOV    FON,R1
1$:    JSR    PC,PZTVSN
    SOB    R4,1$

    RTS    PC


;    ----------------------
;    ** 0.14. ÑÄÂÈÃ ÂÍÈÇ **
;    ----------------------

PSDWN:    MOV    R1,R3       ;  ÏÎÄÃ. ÀÄÐÅÑÎÂ
    ADD    #DSSTRB,R3
    CMP    R1,ANVP
    BHI    11$
    ADD    DVPB,R1
11$:    CMP    R3,#100000
    BLOS    1$
    SUB    DVPB,R3

1$:    TST    R2       ;  ÏÎÑËÅÄÍßß ÑÒÐÎÊÀ
    BEQ    PSBRSW

5$:    MOV    #DTVSTS,R4   ;  ÑÄÂÈÃ
2$:    MOV    -(R1),-(R3)
    SOB    R4,2$
    CMP    R1,ANVP
    BHI    3$
    ADD    DVPB,R1
    BR    4$
3$:    CMP    R3,ANVP
    BHI    4$
    ADD    DVPB,R3
4$:    SOB    R2,5$

PSBRSW:    MOV    #KTVSS,R4   ;  ÑÁÐÎÑ ÑÒÐÎÊÈ ÂÂÅÐÕ
    MOV    FON,R1
1$:    JSR    PC,PZTVSW
    SOB    R4,1$

    RTS    PC




--------------------
Æèâû áóäåì - Íå ïîìðåì !
Ïîëüçîâàòåëü â îôëàéíåÊàðòî÷êà ïîëüçîâàòåëÿÎòïðàâèòü ëè÷íîå ñîîáùåíèå
Âåðíóòüñÿ â íà÷àëî ñòðàíèöû
+Îòâåòèòü ñ öèòèðîâàíèåì äàííîãî ñîîáùåíèÿ

Ñîîáùåíèé â ýòîé òåìå


Îòâåòèòü â ýòó òåìóÎòêðûòü íîâóþ òåìó
1 ÷åë. ÷èòàþò ýòó òåìó (ãîñòåé: 1, ñêðûòûõ ïîëüçîâàòåëåé: 0)
Ïîëüçîâàòåëåé: 0

 



Òåêñòîâàÿ âåðñèÿ Ñåé÷àñ: 25.4.2024, 16:44