⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hco00_00.asm

📁 用于电力系统自动化的逸精显示界面的ASM 编程
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        LD MAX,#MESS+36
        LDB MBX,[MAX]+
        STB MBX,SWITI
        LDB MBX,[MAX]+
        STB MBX,SWITI1
        LDB MBX,[MAX]+
        STB MBX,SWITI2
        LD MAX,#MESS+40
        LDB MBX,[MAX]+
        STB MBX,FLAGP6
        LDB MBX,[MAX]+
        STB MBX,FLAGP7

LSIG:   LDB MAX,LLED3[0]
        XORB MAX,#01H
        CMP PEVENT1,#EVTTOP1
        JE LSIG1
        ANDB MAX,#0FDH
LSIG1:  JBC FLAGP6,6,LSIG2
        ANDB MAX,#0FBH
LSIG2:  JBC FLAGP6,7,LSIG3
        ANDB MAX,#0F7H
LSIG3:  JBC FLAGP7,5,LSIG4
        ANDB MAX,#0EFH
LSIG4:  JBC FLAGP7,7,LSIG5
        ANDB MAX,#0DFH
LSIG5:  JBC FLAGP7,1,LSIG6
        ANDB MAX,#0BFH
LSIG6: ;JBC FLAGP6,5,LSIG7
       ;ANDB MAX,#07FH
LSIG7:  STB MAX,LLED3[0]
        STB MAX,601H[0]
        ORB MAX,#0FEH
        STB MAX,LLED3[0]

        LD MAX,#8000H
WT1:    DEC MAX
        JNE WT1
        ;downriver command
GHJX:   JBC FLAGP1,0,HX9
        LD MAX,#RISW
        LD MCX,#VESTRAM
        LDB MDX,LENGTH
HX6:    LDB MDXH,[MAX]+
        STB MDXH,[MCX]+
        DJNZ MDX,HX6
        LD MAX,#BRISW
        LD MCX,#RISW
        LDB MDX,LENGTH
HX7:    LDB MDXH,[MAX]+
        STB MDXH,[MCX]+
        DJNZ MDX,HX7
        LD MAX,#9C00H
        LD MBX,#00A5H
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,LENGTH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LD MCX,#RISW
        LDB MDX,LENGTH
HX8:    LDB MBX,[MCX]+
        XORB MBXH,MBX
        STB MBX,[MAX]+
        DJNZ MDX,HX8
        STB MBXH,[MAX]+

HX9:    JBC FLAGP1,1,HX12
        LD MAX,#9C00H
        LD MBX,#00A6H
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#10
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MDXH,#05H
HX10:   LDB MDX,#02H
        LD MCX,#RNUM
HX11:   LDB MBX,[MCX]
        XORB MBXH,MBX
        STB MBX,[MAX]+
        DJNZ MDX,HX11
        DJNZ MDXH,HX10
        STB MBXH,[MAX]+

HX12:   JBC FLAGP1,2,HX14
        ANDB FLAGP1,#0FBH
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0E0H
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
HX13:   XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,HX13
        STB MBXH,[MAX]+

HX14:   JBC FLAGP1,3,D2GF1
        ANDB FLAGP1,#0F7H
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0E3H
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
HX15:   XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,HX15
        STB MBXH,[MAX]+

D2GF1:  JBC FLAGP2,2,D2GH1
        ANDB FLAGP2,#0FBH
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0E4H
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
D2GF2:  XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,D2GF2
        STB MBXH,[MAX]+

D2GH1:  JBC FLAGP2,3,D3GF1
        ANDB FLAGP2,#0F7H
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0E7H
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
D2GH2:  XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,D2GH2
        STB MBXH,[MAX]+

D3GF1:  JBC FLAGP2,4,D3GH1
        ANDB FLAGP2,#0EFH
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0E8H
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
D3GF2:  XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,D3GF2
        STB MBXH,[MAX]+

D3GH1:  JBC FLAGP2,5,D4GF1
        ANDB FLAGP2,#0DFH
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0EBH
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
D3GH2:  XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,D3GH2
        STB MBXH,[MAX]+

D4GF1:  JBC FLAGP2,6,D4GH1
        ANDB FLAGP2,#0BFH
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0ECH
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
D4GF2:  XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,D4GF2
        STB MBXH,[MAX]+

D4GH1:  JBC FLAGP2,7,HX16
        ANDB FLAGP2,#7FH
        LD MAX,#9C00H
        LD MBX,#005AH
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#6
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#0EFH
        LDB MCX,MBX
        NOTB MCX
        LDB MDX,#3
D4GH2:  XORB MBXH,MBX
        STB MBX,[MAX]+
        XORB MBXH,MCX
        STB MCX,[MAX]+
        DJNZ MDX,D4GH2
        STB MBXH,[MAX]+

HX16:   JBC FLAGP1,4,HXW18
        ANDB FLAGP1,#0EFH
        LD MAX,#9C00H
        LD MBX,#0033H
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#4
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#33H
        LDB MDX,#4
HX17:   XORB MBXH,MBX
        STB MBX,[MAX]+
        DJNZ MDX,HX17
        STB MBXH,[MAX]+

HXW18:  JBC  FLAGP3,0,HX18   ;02/01/06
        LD   MAX,#9C00H
        LD   MBX,#0023H
HXW181: STB    MBX,[MAX]+
        LDB    MBX,#2
        STB    MBX,[MAX]+
        LD     MBX,BRWORD[R0]
        ST     MBX,[MAX]+
        XORB   MBXH,MBX
        LDB    MBX,#23H
        XORB   MBXH,MBX
        LDB    MBX,#2
        XORB   MBXH,MBX
        STB    MBXH,[MAX]+

HX18:   JBC FLAGP2,1,HXW20
        ANDB FLAGP2,#0FDH
        LD MAX,#9C00H
        LD MBX,#0022H
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#4
        XORB MBXH,MBX
        STB MBX,[MAX]+
        LDB MBX,#22H
        LDB MDX,#4
HX19:   XORB MBXH,MBX
        STB MBX,[MAX]+
        DJNZ MDX,HX19
        STB MBXH,[MAX]+

        ;upriver command
HXW20:  JBC FLAGP3,0,HX20
        ANDB FLAGP3,#0FEH
HXMM:   LD  MDX,#0FFFFH
MMWAIT: LD  MAX,#9C80H
        CLR MBX
        LDB MCX,#5
        DJNZW MDX,MMWAIT
HXW201: LDB MBXH,[MAX]+
        CMPB MBXH,#23H
        JE   HXW202
        ORB  FLAGP3,#04H
        SJMP HXW205
HXW202: LD   MDX,#4
HXW203: LDB  MBX,[MAX]+
        XORB MBXH,MBX
        DJNZW MDX,HXW203
        CMPB MBXH,#0
        JE   HXW204
        ORB  FLAGP3,#04H
        SJMP HXW205
HXW204: ORB  FLAGP3,#02H
        LD   MBX,BRWORD[0]
        ST   MBX,RWORD[0]
HXW205: LD   MAX,#9C80H
        LDB  MBX,#80H
HXW206: STB  R0,[MAX]+
        DJNZ MBX,HXW206
        JBC FLAGP3,1,HXW208
        LDB  PAGE,#16
        ANDB FLAGP3,#0FDH
HXW207: CALL XPAGET
        LD   ADDRBR1,#SUREP2
        LJMP  LOOP
HXW208: JBC  FLAGP3,2,HX20
        LDB  PAGE,#17
        ANDB FLAGP2,#0FBH
        SJMP HXW207
HX20:   JBS FLAGP1,0,DWAIT
        SJMP HX31
DWAIT:  LD MDX,#0FFFFH
HX21:   LD MAX,#9C80H
        CLR MBX
        LD MCX,#RISW
        DJNZW MDX,HX21
        LDB MBX,[MAX]+
        CMPB MBX,#0A5H
        JE HX22
        ORB FLAGP1,#40H
        SJMP HX24
HX22:   XORB MBXH,MBX
        LDB MDX,[MAX]+
        XORB MBXH,MDX
HX23:   LDB MBX,[MAX]+
        STB MBX,[MCX]+
        XORB MBXH,MBX
        DJNZ MDX,HX23
        LDB MBX,[MAX]+
        XORB MBXH,MBX
        JE HX26
        ORB FLAGP1,#40H
HX24:   LD MCX,#VESTRAM
        LDB MAXH,LENGTH
        LD MBX,#RISW
        LD MDX,#BRISW
HX25:   LDB MAX,[MCX]+
        STB MAX,[MBX]+
        STB MAX,[MDX]+
        DJNZ MAXH,HX25
        SJMP HX28
HX26:   ORB FLAGP1,#20H
        LDB MAXH,LENGTH
        LD MBX,#RISW
        LD MDX,#BRISW
HX27:   LDB MAX,[MBX]+
        STB MAX,[MDX]+
        DJNZ MAXH,HX27

HX28:   ANDB FLAGP1,#0FEH
        LD MAX,#9C80H
        LDB MBX,#80H
HX29:   STB R0,[MAX]+
        DJNZ MBX,HX29
        JBC FLAGP1,5,HX30
        LJMP PWDZ7;;M-R-BR
HX30:   JBC FLAGP1,6,HX31
        LJMP PWDZ8

HX31:   JBC FLAGP1,1,HX39
        LD MDX,#0FFFFH
HX32:   LD MAX,#9C80H
        CLR MBX
        LD MCX,#VESTNUM
        DJNZW MDX,HX32
        LDB MBX,[MAX]+
        CMPB MBX,#0A6H
        JE HX33
        ORB FLAGP2,#01H
        SJMP HX36
HX33:   XORB MBXH,MBX
        LDB MDX,[MAX]+
        XORB MBXH,MDX
HX34:   LDB MBX,[MAX]+
        XORB MBXH,MBX
        DJNZ MDX,HX34
        LDB MBX,[MAX]+
        XORB MBXH,MBX
        JE HX35
        ORB FLAGP2,#01H
        SJMP HX36
HX35:   ORB FLAGP1,#80H
        CLR MBX
        ST MBX,BRNUM[0]
        ST MBX,RNUM[0]
HX36:   ANDB FLAGP1,#0FDH
        LD MAX,#9C80H
        LDB MBX,#80H
HX37:   STB R0,[MAX]+
        DJNZ MBX,HX37
        JBC FLAGP1,7,HX38
        LJMP PWDZ7
HX38:   JBC FLAGP2,0,HX39
        LD MBX,RNUM[0]
        ST MBX,BRNUM[0]
        LJMP PWDZ8

HX39:   NOP
        LD MAX,#9C80H
        LDB MBX,[MAX]+
        CLRB MBXH
        CMPB MBX,R0
        JNE HX40
        SJMP HX48
HX40:   CMPB MBX,#0A7H
        JNE HX46
        LD MDX,#1000H
HX41:   DEC MDX
        JNE HX41
        XORB MBXH,MBX
        LDB MBX,[MAX]+
        XORB MBXH,MBX
        LD MDX,#VESTRAM
HX42:   LDB MCX,[MAX]+
        STB MCX,[MDX]+
        XORB MBXH,MCX
        DJNZ MBX,HX42
        LDB MCX,[MAX]+
        STB MCX,[MDX]+
        XORB MBXH,MCX
        JE HX43
        ORB FLAGP2,#02H
        SJMP HX46
HX43:   LDB MBX,LENGTH
        INCB MBX
        LD MAX,#VESTRAM
        LD MDX,#RISW
HX44:   LDB MCX,[MAX]+
        STB MCX,[MDX]+
        DJNZ MBX,HX44
        LDB MBX,LENGTH
        LD MCX,#RISW
        LD MDX,#BRISW
HX45:   LDB MAX,[MCX]+
        STB MAX,[MDX]+
        DJNZ MBX,HX45
HX46:   LD MAX,#9C80H
        LDB MBX,#80H
HX47:   STB R0,[MAX]+
        DJNZ MBX,HX47
HX48:   NOP

        ;CAL. WD
        LD MPNT,PWD
        SUBB MPNT,#102
        CLR MCX
        CLR MDX
        LDB MCNT,#50
LPWD1:  LD MAX,[MPNT]
        ADDB MPNT,#2
        LD MBX,[MPNT]

        SUBB MBX,MAX
        SUBB MBXH,MAXH
        ADDB MCX,MBX
        ADDCB MCXH,R0
        ADDB MDX,MBXH
        ADDCB MDXH,R0
        DJNZ MCNT,LPWD1
        ;MCX MDX=THE COUNTS/64 FOR 4.3691S;6.5536S
        MULU MAX,MDX,#3
        INC MAX
        SHR MAX,#2
        LD MDX,MAX
        MULU MAX,MCX,#3
        INC MAX
        SHR MAX,#2
        LD MCX,MAX
        MULU MAX,MDX,#7539
        ADD MBX,#882
        MULU MCX,#7539
        ADD MDX,#882
        ;GET 10R IN MBX MDX
        SUB MBX,#800
        DIVUB MBX,#40
        CMPB MBX,#20
        JNH LPWD3
        LDB MBX,#20
LPWD3:  CLR MAX
        LDB MAX,MBX
        ADD MAX,MAX
        LD MAX,WDTB[MAX]
        MULUB MBX,MBXH,#5
        SHRB MBX,#1  ;*2.5
        ADD MBX,MAX

        ;ANOTHER WD
        SUB MDX,#800
        DIVUB MDX,#40
        CMPB MDX,#20
        JNH LPWD2
        LDB MDX,#20
LPWD2:  CLR MAX
        LDB MAX,MDX
        ADD MAX,MAX
        LD MAX,WDTB[MAX]
        MULUB MDX,MDXH,#5
        SHRB MDX,#1  ;*2.5
        ADD MDX,MAX

        ;TO NOW MBX,MCX=10 DEGREE
        SUB MBX,#500
        SUB MDX,#500
        ST MDX,SWD2[R0]
        DIVB MDX,#10
        STB MDX,SWD2B[R0]

        LD MAX,LMAX[0]
        LD MBX,LMBX[0]
        LD MCX,LMCX[0]
        LD MDX,LMDX[0]
        LD MEX,LMEX[0]
        LD MFX,LMFX[0]
        LD MCNT,LMCNT[0]
        LD MPNT,LMPNT[0]

LOOP2:  LDB MAX,BA14CHA[0]
        ANDB MAX,MAX
        JE SUREP10
        STB R0,BA14CHA[0]
        LDB MAX,BA1400H[0]
        CMPB MAX,#0FFH
        JNE SUREP13
SUREP10:JBC FLAGP4,2,SUREP12
        LJMP STATUS0
SUREP12:JBC FLAGP5,0,SUREP14
        LJMP TELE0
SUREP14:LJMP LOOP
SUREP13:ORB FLAGP4,#10H
        BR [ADDRBR1]

SUREP1: LDB PAGE,#1
        CALL XPAGET
        LD CMAX,#0101H
        CALL SETCURSOR
        LD ADDRBR1,#CHAP1
        LJMP LOOP
CHAP1:  JBS MAX,ESC,CHAP11
BACK0:  ANDB FLAGP4,#0EFH
        ld addrbr1,#surep1
        st r0,temp6[0]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -