📄 hco00_00.asm
字号:
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 + -