IPB

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

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


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

Ãðóïïà: Root Admin
Ñîîáùåíèé: 6 282
Ðåãèñòðàöèÿ: 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:30
Ñîîáùåíèå #2


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

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




Êîä






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



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


    AWPKL1    = 60       ;- ÀÄÐÅÑ ÂÅÊÒÎÐÀ ÏÐ. ÊËÀÂ.1
    AWPKL2    = 274       ;- ÀÄÐÅÑ ÂÅÊÒÎÐÀ ÏÐ. ÊËÀÂ.2
    ARSKL    = 177660   ;- ÀÄÐÅÑ ÐÅÃ.ÑÎÑÒÎßÍÈß ÊËÀÂ.
    ARDKL    = 177662   ;- ÀÄÐÅÑ ÐÅÃ.ÄÀÍÍÛÕ ÊËÀÂ.

    ASPORT    = 177716   ;- ÀÄÐÅÑ ÑÈÑÒÅÌÍÎÃÎ ÏÎÐÒÀ
    APRWK    = 262       ;- ÀÄÐÅÑ ÏÐÈÇÍÀÊÀ ÂÊ
    KPOWTS    = 20000       ;- ÊÎÍÑÒÀÍÒÀ ÏÎÂÒÎÐÀ ÑÈÌÂÎËÀ
    KPOWTG    = 4000       ;- ÊÎÍÑÒÀÍÒÀ ÏÎÂÒÎÐÀ ÃÒ





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




MIDKLW:    MOV    #BCTKW1,@#AWPKL1   ;- ÓÑÒ. ÂÊË1
    MOV    #200,@#AWPKL1+2

    MOV    #BCTKW2,@#AWPKL2   ;- ÓÑÒ. ÂÊË2
    MOV    #200,@#AWPKL2+2

    CLR    APOPKL       ;- ÑÁÐÎÑ ÐÅÆÈÌÀ ÏÐÅÐÛÂÀÍÈß
    CLR    PRWK       ;- ÑÁÐÎÑ ÏÐÈÇÍÀÊÀ ÊÎÄÀ ÂÊ
    CLR    @#ARSKL       ;- ÑÁÐÎÑ ÌÀÑÊÈ ÏÐÅÐÛÂÀÍÈß

    RTS    PC





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


MCTKOD:   ;ÂÛÕÎÄ:    R0 - ÊÎÄ Â ÌË.ÁÀÉÒÅ



;   =================================
;   *** 1. ÁËÎÊ ÓÏÐÀÂËÅÍÈß MCTKOD ***
;   =================================


BUMCTK:    MOV    @#ARDKL,R0   ;- ÔÈÊÒÈÂÍÎÅ ×ÒÅÍÈÅ ÊËÀÂ.

1$:    TSTB    PRZKB       ;  ×ÒÅÍÈÅ ÊÎÄÀ Ñ ÊËÀÂÈÀÒÓÐÛ
    BEQ    2$
    CLR    R0
    BISB    BUFKL,R0
    CLRB    PRZKB       ;- ÐÀÇÐÅØÅÍÈÅ ÇÀÏÈÑÈ ÊÎÄÀ Â ÁÓÔÅÐ
    RTS    PC

2$:    TSTB    SCKLC       ;  ÊËÞ×
    BEQ    3$
    JSR    PC,PZKKLC
    BR    1$

3$:    TSTB    SCTAB       ;  ÒÀÁÓËßÖÈß
    BEQ    4$
    JSR    PC,PZKTAB
    BR    1$

4$:    TSTB    PRPOWT       ;  ÏÎÂÒÎÐ
    BEQ    5$
    JSR    PC,PPOWT
    BR    1$

5$:    MTPS    #0       ;- ÐÀÇÐÅØÅÍÈÅ ÏÐÅÐÛÂÀÍÈß
    BR    1$



;   ========================================
;   *** 2. ÁËÎÊ ×ÒÅÍÈß ÊÎÄÀ ÏÎ ÂÅÊÒÎÐÓ 1 ***
;   ========================================


BCTKW1:    JSR    R4,PSREG0
    MOV    R5,-(SP)

    JSR    PC,PCTK       ;  ×ÒÅÍÈÅ ÊÎÄÀ

    CMPB    R0,#20       ;  ÊÎÄÛ ÐÅÆÈÌÎÂ ÊËÀÂ.
    BHI    1$

    MOV    R0,R1       ;  ÂÛÁÎÐ ÊÎÄÀ
    SUB    #12,R1
    BMI    2$
    ASL    R1
    ADD    R1,PC
    BR    3$
    BR    2$
    BR    2$
    BR    4$
    BR    5$
    BR    6$
    BR    7$

3$:    TST    @#APRWK       ;  ÏÑ
    BEQ    2$
    MOV    #15,R0
    BR    2$

5$:    MOVB    #200,PRRUS   ;  ÐÓÑ
    BR    9$

6$:    CLRB    PRRUS       ;  ËÀÒ
9$:    CLR    R0
    CLR    SCKOD
    JSR    PC,PFINDR
    BR    KCTKW1

7$:    CLR    R3       ;- ÑÁÐ. ÒÀÁ.
4$:    JSR    PC,PUTAB   ;- ÓÑÒ. ÒÀÁ.  
    BR    KCTKW1

1$:    CMPB    R0,#77       ;  ÌÎÄÈÔ. ÊÎÄÀ
    BLOS    2$
    BISB    PRRUS,R0

2$:    JSR    PC,PZKBUF   ;  ÇÀÏÈÑÜ ÊÎÄÀ Â ÁÓÔÅÐ

KCTKW1:    MOV    (SP)+,R5
    JSR    R4,PWREG

    RTI


;    ------------------------------
;    ** 2.1. ÓÑÒÀÍÎÂÊÀ ÒÀÁÓËßÖÈÈ **
;    ------------------------------

PUTAB:    JSR    PC,POPSIM   ;  ÎÏÐÅÄ. ÏÎÇ. ÑÈÌÂÎËÀ

    TST    R3       ;  ÓÑÒ. ÒÀÁ.
    BEQ    1$
    BIS    R0,MTAB(R1)
    BR    2$

1$:    BIC    R0,MTAB(R1)   ;  ÑÁÐ. ÒÀÁ.

2$:    JSR    PC,PFINDT   ;  ÓÑÒÀÍÎÂÊÀ ÈÍÄÈÊ.ÒÀÁ.

    RTS    PC



;   ========================================
;   *** 3. ÁËÎÊ ×ÒÅÍÈß ÊÎÄÀ ÏÎ ÂÅÊÒÎÐÓ 2 ***
;   ========================================


BCTKW2:    JSR    R4,PSREG0
    MOV    R5,-(SP)

    JSR    PC,PCTK       ;  ×ÒÅÍÈÅ È ÌÎÄÈÔ. ÊÎÄÀ
    BISB    #200,R0

    CMPB    R0,#277       ;  ÊÎÄÛ ÏÎËÓÃÐÀÔÈÊÈ
    BLOS    1$
    BICB    #100,R0
    BISB    #40,R0
    BR    2$

1$:    CMPB    R0,#271       ;  ÊËÞ×È
    BHI    3$
    MOV    R0,R1
    SUB    #260,R1
    BMI    3$
    TSTB    SCKLC
    BNE    KCTKW2
    ASL    R1
    MOV    AKLC(R1),TAKLC   ;- ÇÀÏÓÑÊ ÊËÞ×À
    BEQ    KCTKW2
    MOVB    @TAKLC,SCKLC
    INC    TAKLC
    JSR    PC,PZKLC1
    BR    KCTKW2

3$:    CMPB    R0,#237       ;  ÊÎÄÛ ÐÅÆÈÌÎÂ ÄÈÑÏËÅß
    BLOS    4$
    BICB    #40,R0
    BISB    #20,R0
    CMPB    R0,#232       ;- ÃÀØ. Ê.
    BEQ    8$
    CMPB    R0,#235       ;- ÈÍÂ. Ý.
    BEQ    8$
    CMPB    R0,#236       ;- ÓÑÒ.ÈÍÄ.
    BNE    2$

8$:    EMT    FSIM       ;- ÈÑÓ,ÁËÐ,ÃÀØ.Ê,ÈÍÂ.Ý,ÓÑÒ.ÈÍÄ
    BR    KCTKW2

4$:    CMPB    R0,#211       ;  ÒÀÁ
    BLO    5$
    BNE    6$
    JSR    PC,PTAB
    BR    KCTKW2

5$:    CMPB    R0,#204       ;  ÁËÐ,ÈÑÓ
    BHI    7$

    CMPB    R0,#201       ;  ÏÎÂÒÎÐ
    BHI    8$
    BNE    7$
    INCB    PRPOWT
    JSR    PC,PPOWT1
    BR    KCTKW2

7$:    BIS    #20,R0       ;  ÃÐÀÔ. ÊÎÄÛ È ØÀÃ
    BR    2$

6$:    CMPB    R0,#212       ;  ÎÑÒÀÍÎÂ
    BNE    9$
10$:    TSTB    @#ARSKL
    BPL    10$
    JSR    PC,PCTK
    BR    KCTKW2

9$:    CMPB    R0,#213       ;  ÑÁÐ.Ê.ÑÒÐ.
    BNE    2$
    MOV    #231,R0

2$:    JSR    PC,PZKBUF   ;  ÇÀÏÈÑÜ ÊÎÄÀ Â ÁÓÔÅÐ


KCTKW2:    MOV    (SP)+,R5
    JSR    R4,PWREG

    RTI


;    ----------------------------
;    ** 3.1. ÇÀÏÈÑÜ ÊÎÄÀ ÊËÞ×À **
;    ----------------------------

PZKKLC:    MOVB    @TAKLC,R0
    JSR    PC,PZKBUF
    INC    TAKLC
    DECB    SCKLC
    BEQ    KZKKLC
PZKLC1:    TST    @#APOPKL   ;- ÐÅÆÈÌ ÏÐÅÐ.
    BNE    PZKKLC

KZKKLC:    RTS    PC


;    --------------------
;    ** 3.2. ÒÀÁÓËßÖÈß **
;    --------------------

PTAB:    JSR    PC,POPSIM   ;  ÎÏÐÅÄ. ÏÎÇ. ÑÈÌÂ.

    MOVB    #1,SCTAB   ;  ÏÎÈÑÊ ÏÎÇÈÖÈÈ
    ASL    R0
    BCS    1$
2$:    BIT    R0,MTAB(R1)
    BNE    PZKT1
    INCB    SCTAB
    ASL    R0
    BCC    2$

1$:    ADC    R0       ;  ÈÇÌÅÍÅÍÈÅ ÀÄÐ. ÑËÎÂÀ
    ADD    #2,R1
    CMP    R1,#4
    BLO    2$
    TSTB    PRCW
    BNE    PZKT1
    CMP    R1,#10
    BNE    2$

PZKT1:    TST    @#APOPKL   ;  ÇÀÏÈÑÜ ÊÎÄÀ ÒÀÁÓËßÖÈÈ
    BEQ    KTAB
PZKTAB:    MOV    #40,R0
    JSR    PC,PZKBUF
    DECB    SCTAB
    BNE    PZKT1

KTAB:    RTS    PC


;    -----------------
;    ** 3.3. ÏÎÂÒÎÐ **
;    -----------------

PPOWT:    JSR    PC,PZKB1
    MOV    BKPOWT,R0   ;- ÇÀÄÅÐÆÊÀ
1$:    SOB    R0,1$
    BIT    #100,@#ASPORT   ;- ÏÐÎÂÅÐÊÀ ÐÅÆ. ÏÎÂÒ.
    BEQ    PPOWT1
    CLRB    PRPOWT
    BR    KPOWT
PPOWT1:    TST    @#APOPKL   ;- ÐÅÆÈÌ ÏÐÅÐ.
    BNE    PPOWT

KPOWT:    RTS    PC





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


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


MCTSTR:    MOV    R0,-(SP)

    MOV    R2,R5       ;  ÏÎÄÃÎÒÎÂÊÀ ÎÃÐÀÍÈ×.
    SWAB    R5
    BIC    #177400,R2
    MOV    R2,-(SP)

1$:    EMT    CTKOD       ;  ×ÒÅÍÈÅ ÑÈÌÂÎËÀ
    CMPB    R0,#30       ;- ÀÍÑ
    BNE    2$
    CMP    R2,(SP)
    BEQ    1$
    DEC    R1
    ADD    #2,R2
    BR    3$
2$:    MOVB    R0,(R1)+
3$:    EMT    FSIM

    CMPB    R0,R5       ;  ÏÐÎÂÅÐÊÀ ÎÃÐÀÍÈ×.
    BEQ    KCTSTR
    SOB    R2,1$

KCTSTR:    MOV    (SP)+,R0
    MOV    (SP)+,R0
    RTS    PC





; ===================================
; ***** ÌÎÄÓËÜ ÓÑÒÀÍÎÂÊÈ ÊËÞ×ÅÉ *****
; ===================================


;    ÂÕÎÄ:    R0 - ÍÎÌÅÐ ÊËÞ×À
;        R1 - ÀÄÐÅÑ ÒÅÊÑÒÀ ÊËÞ×À


MUKLC:    TST    R0       ;  ÏÐÎÂÅÐÊÀ ÍÎÌÅÐÀ ÊËÞ×À
    BLE    KUKLC
    CMP    R0,#12
    BHI    KUKLC
    BNE    1$
    CLR    R0

1$:    ASL    R0
    MOV    R1,AKLC(R0)   ;  ÓÑÒÀÍÎÂÊÀ ÊËÞ×À

KUKLC:    RTS    PC




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



;    ----------------------
;    ** 0.1. ×ÒÅÍÈÅ ÊÎÄÀ **
;    ----------------------

PCTK:    TST    SCUIND       ;  ÓÑÒ. ÈÍÄÈÊÀÒÎÐÎÂ
    BEQ    4$
    JSR    PC,PUINDR
4$:    MOV    #177777,SCKOD

PSIGN:    MOV    #50,R2       ;  ÑÈÃÍÀË
    MOV    #100,R3
3$:    MOV    #320,@#ASPORT   ;- 1
    MOV    R3,R0
1$:    SOB    R0,1$
    MOV    #220,@#ASPORT   ;- 0
    MOV    R3,R0
2$:    SOB    R0,2$
    DEC    R3
    SOB    R2,3$
    MOV    @#ASPORT,R0   ;- ÑÁÐÎÑ ÏÐÈÇÍ. ÑÒÎÏ

    MOVB    @#ARDKL,R0   ;- ×ÒÅÍÈÅ ÊÎÄÀ
    RTS    PC


;    ------------------------------
;    ** 0.2. ÇÀÏÈÑÜ ÊÎÄÀ Â ÁÓÔÅÐ **
;    ------------------------------

PZKBUF:    TSTB    PRZKB       ;  ÇÀÏÈÑÜ ÊÎÄÀ Â ÁÓÔ.
    BNE    PZKB2
    MOVB    R0,BUFKL
PZKB1:    INCB    PRZKB

PZKB2:    MOV    @#APOPKL,R5   ;  ÏÅÐÅÄÀ×À ÓÏÐ. ÏÎ ÏÐÅÐÛÂÀÍÈÞ
    BEQ    KZKBUF
    JSR    PC,(R5)

KZKBUF:    RTS    PC


;    -----------------------------------------------
;    ** 0.3. ÎÏÐÅÄÅËÅÍÈÅ ÏÎÇÈÖÈÈ ÑÈÌÂÎËÀ Â ÑÒÐÎÊÅ **
;    -----------------------------------------------

POPSIM:    MOV    NOMSIM,R1   ;  ÏÎÄÃ. Ñ×. ÏÎÇ.
    BIC    #177700,R1
    TSTB    PRCW
    BEQ    1$
    ASR    R1

1$:    MOV    R1,R2       ;  ÎÏÐÅÄ. ÏÎÇ. Â ÑËÎÂÅ
    BIC    #177760,R2
    INC    R2
    CLR    R0
    SEC
2$:    ROL    R0
    SOB    R2,2$

    BIC    #177717,R1   ;  ÎÏÐÅÄ. ÑËÎÂÀ
    ASR    R1
    ASR    R1
    ASR    R1

    RTS    PC



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

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


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

 



Òåêñòîâàÿ âåðñèÿ Ñåé÷àñ: 29.3.2024, 22:15