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