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

📄 hco00_00.asm

📁 用于电力系统自动化的逸精显示界面的ASM 编程
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        CLRB CLKAXH
        LJMP LOOP
CHAP11: CALL POS
        JBS MAX,ENTER,CHAP12
        CLR MBX
        LD MBX,CMAX
        CMPB MBXH,#01H
        JNE CHAP13
        CLRB MBXH
        DECB MBX
        SHLB MBX,#1
        LD MBX,NEXT[MBX]
        BR [MBX]
CHAP12: LJMP LOOP
CHAP13: CLRB MBXH
        DECB MBX
        SHLB MBX,#1
        LD MBX,NEXT1[MBX]
        BR [MBX]
        SJMP CHAP12

ZZFG:   ORB FLAGP1,#10H
        SJMP BACK0

TELECOM:LDB PAGE,#2
        CALL XPAGET
        ORB FLAGP5,#01H
        CLR MAX
        CLR MBX
        LDB MAX,SADDR
        ANDB MBX,MAX,#0FH
        SHRB MAX,#4
        MULUB MAX,MAX,#10H
        MULUB MBX,MBX,#10H
        ADD MCX,MAX,#TABDATA
        ADD MDX,MBX,#TABDATA
        LD MPNT,MCX
        LD MAX,#0D01H
        CALL XSASCII
        LD MPNT,MDX
        INCB MAXH
        CALL XSASCII
        CLR MAX
        CLR MBX
        CLR MCX
        LDB MCX,BAUDSP
        ADDB MCX,#1
        MULUB MCX,MCX,#4
        LD MBX,#04H
        LD MAX,#93E0H
        DIVU MAX,MCX
        CLR MBX
        CALL HEXTODEC
        LDB MAX,#2
        STB MAX,DIPBIT[0]
        LD MAX,#0802H
        LDB MCNTH,#4
        CALL XNUMBER
TELE0:  JBC FLAGP5,1,TELE3
        LD MPNT,#ASHE
        SJMP TELE5
TELE3:  LD MPNT,#ASFEN
TELE5:  LD MAX,#0D03H
        CALL XSASCII
        JBC FLAGP5,2,TELE4
        LD MPNT,#ASHE
        SJMP TELE6
TELE4:  LD MPNT,#ASFEN
TELE6:  LD MAX,#0D04H
        CALL XSASCII
        LD ADDRBR1,#TELE1
TELE2:  LJMP LOOP
TELE1:  JBS MAX,ESC,TELE2
        ANDB FLAGP5,#0FEH
        SJMP SUREP1

VERSION:LDB PAGE,#3
        CALL XPAGET
        LD ADDRBR1,#VERS1
        LJMP LOOP
VERS1:  JBS MAX,ESC,TELE2
        SJMP SUREP1

OPERATION:CALL PWS
        LD ADDRBR1,#PWM
        SJMP CHAP12
PWM:    ORB MAX,#0C0H
        JBC MAX,ESC,PWM1
        JBC MAX,ENTER,PWM2
        CALL POS1
        SJMP CHAP12
PWM1:   ANDB FLAGP4,#0F5H
        SJMP SUREP1
PWM2:   CALL PWC
        ANDB FLAGP4,#0F5H
        JBC FLAGP4,0,PWM3
        LDB PAGE,#13
        CALL XPAGET
        LD CMAX,#0101H
        CALL SETCURSOR
        LD ADDRBR1,#FORH
        SJMP PWM4
PWM3:   CALL PWERR
        LD ADDRBR1,#PWERR1
PWM4:   ANDB FLAGP4,#0FEH
        LJMP LOOP
PWERR1: JBS MAX,ENTER,TELE2
        SJMP SUREP1

FORH:  ;ORB MAX,#0C0H
        JBC MAX,ENTER,FORH1
        CALL POS
        JBS MAX,ESC,TELE2
        SJMP SUREP1
FORH1:  CMP CMAX,#0101H
        JNE FORH2
        ORB FLAGP1,#08H
        SJMP SUREP1
FORH2:  CMP CMAX,#0901H
        JNE FORH3
        ORB FLAGP1,#04H
        SJMP SUREP1
FORH3:  CMP CMAX,#0102H
        JNE FORH4
        ORB FLAGP2,#08H
        SJMP SUREP1
FORH4:  CMP CMAX,#0902H
        JNE FORH5
        ORB FLAGP2,#04H
        SJMP SUREP1
FORH5:  CMP CMAX,#0103H
        JNE FORH6
        ORB FLAGP2,#20H
        SJMP SUREP1
FORH6:  CMP CMAX,#0903H
        JNE FORH7
        ORB FLAGP2,#10H
        SJMP SUREP1
FORH7:  CMP CMAX,#0104H
        JNE FORH8
        ORB FLAGP2,#80H
        SJMP SUREP1
FORH8:  CMP CMAX,#0904H
        JNE FORH9
        ORB FLAGP2,#40H
FORH9:  SJMP SUREP1

SUREP2: LDB PAGE,#4
        CALL XPAGET
        LD CMAX,#0101H
        CALL SETCURSOR
        LD ADDRBR1,#CHAP2
        LJMP LOOP
CHAP2:  JBS MAX,ESC,CHAP21
        SJMP SUREP1
CHAP21: CMPB CMAX,#2
        JLT CHAP26
        ORB MAX,#40H
CHAP26: CALL POS
        JBS MAX,ENTER,CHAP22
        CLR MBX
        LD MBX,CMAX
        CMPB MBXH,#1
        JNE CHAP27
        CLRB MBXH
        DECB MBX
        SHLB MBX,#1
        LD MBX,NEXT2[MBX]
        BR [MBX]
CHAP22: LJMP LOOP
CHAP27: CLRB MBXH
        DECB MBX
        SHLB MBX,#1
        LD MBX,NEXT3[MBX]
        BR [MBX]
        SJMP CHAP22
CHAP25: ORB FLAGP4,#08H
CHAP23: LD MAX,#RISW
        LD MBX,#BRISW
        LDB MCX,LENGTH
CHAP24: LDB MDX,[MAX]+
        STB MDX,[MBX]+
        DJNZ MCX,CHAP24
SUREP3: LDB PAGE,#5
        CALL XPAGET
        LD CMAX,#0101H
        CALL SETCURSOR
        LD ADDRBR1,#CHAP3
        LJMP LOOP
CHAP3:  JBS MAX,ESC,CHAP31
        ANDB FLAGP4,#0F7H
        SJMP SUREP2
CHAP31: JBC MAX,ENTER,CHAP45
        CMP CMAX,#0902H
        JNE CHAP32
        ORB MAX,#40H
CHAP32: CMP CMAX,#0103H
        JNE CHAP33
        ORB MAX,#48H
CHAP33: CALL POS
        LJMP LOOP
MODIFY: JBS MAX,ESC,CHAP40
        ANDB FLAGP4,#0FDH
        SJMP SUREP3
CHAP40: JBS MAX,ENTER,CHAP46
        LDB MAXH,TEMP2[0]
        CMPB MAXH,TEMP5[0]
        JE CHAP46
        LD MBX,#X_MPNT
CHAP42: LDB MAX,[MBX]+
        CMPB MAXH,MAX
        JNE CHAP42
        SUB PAGE,MBX,#X_MPNT
        CALL XPAGET
        JBC FLAGP4,3,CHAP44
        LD CMAX,#0F01H
        CALL SETCURSOR
CHAP44: LJMP LOOP
CHAP46: CALL POS1
        SJMP CHAP44
CHAP45: CLR MCX
CHAP41: LD MBX,X_DZPOS[MCX]
        CMP CMAX,MBX
        JE CHAP4
        ADDB MCX,#2
        SJMP CHAP41
CHAP4:  SHRB MCX,#1
        ADD MCX,#6
        LDB PAGE,MCX
        LDB MBX,X_MPNT[MCX]
        STB MBX,TEMP5[0]
        CALL XPAGET
        LD ADDRBR1,#MODIFY
        JBC FLAGP4,3,CHAP47
        ORB FLAGP4,#2
        LD CMAX,#0F01H
        CALL SETCURSOR
CHAP47: SJMP CHAP44

PASS:   CALL PWS
        LD ADDRBR1,#PWPA
        SJMP CHAP22
PWPA:   ORB MAX,#0C0H
        JBC MAX,ESC,PWPA1
        JBC MAX,ENTER,PWPA2
        CALL POS1
        SJMP CHAP22
PWPA1:  ANDB FLAGP4,#0F5H
        SJMP SUREP2
PWPA2:  CALL PWC
        JBC FLAGP4,0,PWPA3
        LD ADDRBR1,#PWPAM
        ANDB FLAGP4,#0FEH
        LD MAX,#01
        LD MPNT,#64
        CALL XSHHZ
        SJMP CHAP44
PWPA3:  ANDB FLAGP4,#0F5H
        SJMP PWDZ3
PWPAM:  ORB MAX,#0C0H
        JBC MAX,ESC,PWPAM1
        JBC MAX,ENTER,PWPAM2
        CALL PL1
        SJMP CHAP22
PWPAM1: ANDB FLAGP4,#0F5H
        SJMP SUREP2
PWPAM2: ANDB FLAGP4,#0F5H
        LD MAX,#1
        LD MCX,#0D0H
       ;LD MBX,BRWORD[0]
       ;ST MBX,RWORD[0]
        ORB FLAGP3,#01H
        LJMP HXW18
       ;LD MBX,#RWORD
       ;LDB MCNT,#2
       ;SJMP SUREP2

DZGUHUA:CALL PWS
        LD ADDRBR1,#PWDZ
        SJMP CHAP22
PWDZ:   ORB MAX,#0C0H
        JBC MAX,ESC,PWDZ1
        JBC MAX,ENTER,PWDZ2
        CALL POS1
        SJMP CHAP22
PWDZ1:  ANDB FLAGP4,#0F5H
        SJMP SUREP2
PWDZ2:  CALL PWC
        JBC FLAGP4,0,PWPA3
        ANDB FLAGP4,#0F4H
        LDB PAGE,#15
        CALL XPAGET
        LD CMAX,#0101H
        CALL SETCURSOR
        LD ADDRBR1,#SUREP5
PWDZ0:  LJMP LOOP

SUREP5: ORB MAX,#0C0H
        JBC MAX,ENTER,SUREP51
        CALL POS
        JBS MAX,ESC,PWDZ0
        SJMP SUREP2
SUREP51:CMPB CMAXH,#1
        JNE SUREP52
        SJMP DZNUM
SUREP52:ORB FLAGP1,#01H
        LJMP GHJX
PWDZ7:  LDB PAGE,#16
        CALL XPAGET
        SJMP PWDZ9
PWDZ8:  LDB PAGE,#17
        CALL XPAGET
PWDZ9:  LD ADDRBR1,#PWDZA
        ANDB FLAGP1,#1FH
        ANDB FLAGP2,#0FEH
        LJMP LOOP
PWDZA:  JBS MAX,ENTER,PWDZ9
        LJMP SUREP2
PWDZ3:  CALL PWERR
        LD ADDRBR1,#PWERR3
PWDZ4:  SJMP CHAP22
PWERR3: JBS MAX,ENTER,PWDZ4
        SJMP SUREP2

DZNUM:  LDB PAGE,#18
        CALL XPAGET
        ORB FLAGP4,#0AH
        LD CMAX,#0F01H
        CALL SETCURSOR
        LD ADDRBR1,#DZNUM1
        LJMP LOOP
DZNUM1: ORB MAX,#0c0h;#0CAH
        JBC MAX,ESC,DZNUM2
        JBC MAX,ENTER,DZNUM3
        LD MBX,BRNUM[0]
DZNUM4: CALL POS1
        LJMP LOOP
DZNUM2: ANDB FLAGP4,#0F5H
        LD MAX,RNUM[0]
        ST MAX,BRNUM[0]
        SJMP SUREP2
DZNUM3: ANDB FLAGP4,#0F5H
       ;LD MAX,BRNUM[0]
       ;cmp max,#2
       ;jnh dznum5
       ;clr max
       ;st max,brnum[0]
dznum5:;ST MAX,RNUM[0]
        ORB FLAGP1,#02H
        LJMP HX9;HX16

RECORD: CLR MDX
        LD MCNT,#EVTTOP1
RECORD5:CMP MCNT,PEVENT1
        JNE RECORD9
        LDB PAGE,#19
        CALL XPAGET
        LD ADDRBR1,#RECORD6
RECORDD:LJMP LOOP
RECORD6:JBS MAX,ENTER,RECORDD
RECORDF:LJMP SUREP1
RECORD9:SUB MFX,PEVENT1,MCNT
        DIVUB MFX,#0AH
        CALL REC03
        LD ADDRBR1,#RECORDA
RECORDB:LJMP LOOP
RECORDA:JBC MAX,ENTER,RECORD1
        JBS MAX,ESC,RECORDB
        LJMP SUREP1
RECORD1:LDB PAGE,#26
        CALL XPAGET
        LDB MBX,[MCNT]
        ADD MCNT,#0AH
        LD MCX,#SOE_CODE
REPP0:  LDB MAX,[MCX]+
        CMPB MAX,#0FFH
        JE RECORDF
        CMPB MAX,MBX
        JNE REPP0
        SUB MCX,#SOE_CODE+1
        CMPB MCX,#4
        JH RECORDG
        CALL REC00
        SJMP RECORDE
RECORDG:CMPB MCX,#7
        JH RECORDH
        CALL REC01
        SJMP RECORDE
RECORDH:CALL REC02
RECORDE:LD ADDRBR1,#RECORD3
        LJMP LOOP
RECORD3:JBS MAX,ENTER,RECORD4
        CMP MCNT,PEVENT1
        JNE RECORD1
RECORDC:LJMP SUREP1
RECORD4:JBC MAX,ESC,RECORDC
        LJMP LOOP

REC00:  CLR MPNT
        LDB MPNT,SOE_MPNT[MCX]
        LDB MAX,#01H
        CALL XSHHZ
        CALL RECTIME
        RET
REC01:  CLR MPNT
        LDB MPNT,SOE_MPNT[MCX]
        LDB MAX,#01H
        CALL XSHHZ
        CALL REC
        CALL RECTIME
        RET
REC02:  CLR MPNT
        LDB MPNT,SOE_MPNT[MCX]
        LDB MAX,#01H
        CALL XSHHZ
        CALL REC1
        CALL RECTIME
        RET
REC03:  ST MCNT,CLEMCNT[0]
        LDB PAGE,#27
        CALL XPAGET
        LD MAX,#2
        LD MPNT,#75H
        CALL XSHHZ
        CLR MAX
        CLR MBX
        LDB MAX,MFX
        CALL HEXTODEC
        LDB MAX,#2
        LDB MAXH,#05
        LDB MCNTH,#2
        LD MEX,#0
        ST MEX,DIPBIT[0]
        CALL XNUMBER
        LD MCNT,CLEMCNT[0]
        RET
REC:    ST MCNT,CLEMCNT[0]
        LD MEX,MCNT
        SUB MEX,#0AH
        ADD MEX,#4
        LD MAX,[MEX]+
        LD MBX,[MEX]
        CALL OJF
        CMPB MCX,#7
        JNE RECXS
        LD MBX,#100
        SJMP RECXS1
RECXS:  LD MBX,#10000
RECXS1: MULU MAX,MBX
        DIVU MAX,#2048
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0B02H
        LDB MCNTH,#4
        LD MEX,#2
        ST MEX,DIPBIT[R0]
        CALL XNUMBER
        LDB MAXH,#10H
        LD MPNT,#ASA
        CALL XSASCII
        LD MCNT,CLEMCNT[0]
        RET
OJF:    ST MCX,OJFMCX[0]
        ST MDX,OJFMDX[0]
        CLR MEX
        LD MCNT,#4096
SSSQR2: ADD MEX,MCNT
        MUL MCX,MEX,MEX
        CMPL MCX,MAX
        JLE SSSQR1
        SUB MEX,MCNT
SSSQR1: SHR MCNT,#1
        JNE SSSQR2
        MULU MAX,MEX,#37837
        LD MAX,MBX
        LD MCX,OJFMCX[0]
        LD MDX,OJFMDX[0]
        RET
REC1:   ST MCNT,CLEMCNT[0]
        LD MCX,MCNT
        SUB MCX,#0AH
        ADD MCX,#4
        LD MAX,[MCX]+
        LD MBX,[MCX]
        CALL OJF
        CLR MBX
        MULU MAX,#1500
        DIVU MAX,#2048
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0B02H
        LDB MCNTH,#4
        LD MEX,#1
        ST MEX,DIPBIT[R0]
        CALL XNUMBER
        LDB MAXH,#10H
        LD MPNT,#ASV
        CALL XSASCII
        LD MCNT,CLEMCNT[0]
        RET

RECTIME:ST MCNT,CLEMCNT[0]
        LD MCX,MCNT
        SUB MCX,#0AH
        ADD MCX,#4
        LD MAX,[MCX]+
        ST MAX,YEARMONTH[0]
        LD MAX,[MCX]+
        ST MAX,DAYHOUR[0]
        LD MAX,[MCX]+
        ST MAX,MINSEC[0]
        LD MAX,YEARMONTH[0]
        SHR MAX,#8
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0903H
        LDB MCNTH,#2
        ST R0,DIPBIT[0]
        CALL XNUMBER
        LD MAX,YEARMONTH[0]
        CLRB MAXH
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0D03H
        LDB MCNTH,#2
        ST R0,DIPBIT[0]
        CALL XNUMBER
        LD MAX,DAYHOUR[0]
        SHR MAX,#8
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0104H
        LDB MCNTH,#2
        ST R0,DIPBIT[0]
        CALL XNUMBER
        LD MAX,DAYHOUR[0]
        CLRB MAXH
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0504H
        LDB MCNTH,#2
        ST R0,DIPBIT[0]
        CALL XNUMBER
        LD MAX,MINSEC[0]
        SHR MAX,#8
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0904H
        LDB MCNTH,#2
        ST R0,DIPBIT[0]
        CALL XNUMBER
        LD MAX,MINSEC[0]
        CLRB MAXH
        CLR MBX
        CALL HEXTODEC
        LD MAX,#0D04H
        LDB MCNTH,#2
        ST R0,DIPBIT[0]
        CALL XNUMBER
        LD MCNT,CLEMCNT[0]
        RET

⌨️ 快捷键说明

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