📄 he-nongduojiance.asm
字号:
CLR 2FH
SETB EA
SETB ES
LJMP WAITES
LOW2: CLR P1.2
NOP
SETB P1.2
PUSH ACC
MOV R1,#93H
LCALL FSTR
MOV R0,#90H
LCALL FSUB
MOV R1,#93H
LCALL FSTR
LCALL FDIV
MOV R1,#90H
LCALL FSTR
MOV R0,#90H
MOV R1,#8DH
LCALL FDIV
MOV R1,#90H
LCALL FSTR
MOV R0,#95H
MOV @R0,#00H
DEC R0
MOV @R0,#0A0H
DEC R0
MOV @R0,#04H
LCALL FMUL
MOV R1,#90H
LCALL FSTR
POP ACC
DEC A
DEC A
MOV B,#10
MUL AB
MOV R0,#95H
MOV @R0,#00H
DEC R0
MOV @R0,A
DEC R0
JZ ZER0
MOV @R0,#08H
SJMP GOON
ZER0: MOV @R0,#41H
GOON: CLR P1.2
NOP
SETB P1.1
LCALL FADD
LCALL FSTR
MOV R1,#90H
MOV R0,#0B0H
MOV R4,#18H
MOV R7,#03H
LCALL XF64RM
CLR P1.2
NOP
SETB P1.2
MOV R0,#0B0H
LCALL FSUB
MOV A,R4
JNB ACC.7,PQKS
DIS1: MOV R0,#90H
MOV R1,#70H ;70 71 72 73 74 75
LCALL SBTD
MOV A,70H
JB ACC.6,LOW4
CJNE A,#0,BZ1
MOV 6FH,#29
MOV 70H,#10
MOV A,71H
ADD A,#11
MOV B,72H
MOV 72H,A
MOV 71H,#10
;MOV A,73H
;CJNE A,#5,$+3
sjmp GOON1
;MOV A,B
;ADD A,#1
;MOV 73H,A
;CJNE A,#10,DIS
;INC 72H
;MOV 73H,#00H
SJMP DIS
PQKS: CLR P2.3
MOV R0,#03H
DIS2: MOV R1,#0FFH
MOV R2,#0FFH
DJNZ R2,$
DJNZ R1,$-4
CLR P1.2
NOP
SETB P1.2
DJNZ R0,DIS2
MOV 6FH,#31
MOV 70H,#21
MOV 71H,#23
MOV 72H,#0
MOV 73H,#21
LCALL DISP
MOV R0,#04H
DIS3: MOV R1,#0FFH
MOV R2,#0FFH
DJNZ R2,$
DJNZ R1,$-4
CLR P1.2
NOP
SETB P1.2
DJNZ R0,DIS3
SJMP DIS1
GOON1: MOV 73H,B
DIS: LCALL DISP
POP PSW
POP ACC
CLR 2FH
SETB EA
SETB ES
LJMP WAITES
LOW4: SJMP LOW5
BZ1: MOV 6FH,#29 ;70 71 72 73 74 75
MOV 70H,#10
CJNE A,#1,HIG
MOV A,72H
ADD A,#11
MOV 72H,A
;MOV A,74H
;CJNE A,#5,$+3
;JNC GOON2
LJMP BACKI
LCALL DISP
POP PSW
POP ACC
CLR 2FH
SETB EA
SETB ES
LJMP WAITES
GOON2: MOV A,73H
ADD A,#1
MOV 73H,A
CJNE A,#10,GOON3
INC 72H
MOV 73H,#00H
GOON3: LCALL DISP
POP PSW
POP ACC
CLR 2FH
SETB EA
SETB ES
LJMP WAITES
HIG: MOV 71H,#1
MOV 72H,#0
MOV 73H,#0
LCALL DISP
POP PSW
POP ACC
CLR 2FH
SETB EA
SETB ES
LJMP WAITES
LOW5: MOV 6FH,#29
MOV 70H,#10
MOV 71H,#10
MOV 72H,#10
MOV 73H,#00H
LCALL DISP
POP PSW
POP ACC
CLR 2FH
SETB EA
SETB ES
LJMP WAITES
LPDM3: MOV R2,#03H ;取浮点数3字节
LPDM30: MOV A,32H
MOVC A,@A+DPTR
MOV @R0,A
INC R0
INC 32H
DJNZ R2,LPDM30
RET
SBTD: MOV A,@R0 ;<=尾数<10
MOV C,ACC.7
MOV 3CH,C
MOV C,ACC.6
MOV ACC.7,C
MOV R6,A
INC R0
MOV A,@R0
MOV R2,A
INC R0
MOV A,@R0
MOV R3,A
DEC R0
DEC R0
CJNE R2,#00H,FB3
CJNE R3,#00H,FB3
CLR A
MOV @R1,A
INC R1
MOV @R1,A
INC R1
MOV @R1,A
INC R1
MOV @R1,A
INC R1
MOV @R1,A
INC R1
MOV @R1,A
FB1: DEC R1
DEC R1
DEC R1
DEC R1
DEC R1
RET
FB3: MOV @R1,#0FFH
INC R1
MOV @R1,#01H
FB5: MOV A,R6
CLR C
SUBB A,@R1
JZ FB13
JNB ACC.6,FB14
FB6: DEC @R1
DEC @R1
DEC @R1
DEC @R1
FB7: MOV A,R6
CLR C
SUBB A,@R1
JZ FB16
JB ACC.6,FB17
FB9: CJNE R6,#00H,fb19
FB91: MOV R6,#05H
FB12: MOV A,R3
MOV B,#0AH
MUL AB
MOV R3,A
MOV R7,B
MOV A,R2
MOV B,#0AH
MUL AB
ADD A,R7
MOV R2,A
CLR A
ADDC A,B
MOV @R1,A
INC R1
DJNZ R6,FB12
SJMP FB1
FB13: MOV A,R2
CLR C
SUBB A,#80H
JC FB61
FB14: MOV R5,#0CDH
MOV R4,#0CCH
LCALL WDMUL
MOV A,R2
JB ACC.7,FB20
MOV A,R7
MOV C,ACC.7
ORL C,ACC.6
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
DEC R6
FB15: MOV A,R6
ADD A,#0FDH
MOV R6,A
DEC R1
INC @R1
INC R1
SJMP FB5
FB19: MOV A,R2
CLR C
RRC A
MOV R2,A
MOV A,R3
RRC A
MOV R3,A
INC R6
SJMP FB9
FB16: MOV A,#0CBH
CLR C
SUBB A,R3
MOV A,#0CCH
SUBB A,R2
JC FB9
FB17: MOV R4,#0A0H
MOV R5,#00H
LCALL WDMUL
MOV A,R2
JB ACC.7,FB21
MOV A,R7
MOV C,ACC.7
ORL C,ACC.6
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
DEC R6
FB18: MOV A,R6
ADD A,#04H
MOV R6,A
DEC R1
DEC @R1
INC R1
SJMP FB7
FB20: MOV A,R7
JNB ACC.7,FB15
MOV A,R3
ORL A,#01H
MOV R3,A
SJMP FB15
FB21: MOV A,R7
JNB ACC.7,FB18
MOV A,R3
ORL A,#01H
MOV R3,A
SJMP FB18
FB61: MOV A,R3
CLR C
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
DEC R6
LJMP FB91
WDMUL: MOV A,R3
MOV B,R5
MUL AB
MOV R7,B
MOV A,R3
MOV B,R4
MUL AB
ADD A,R7
MOV R7,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R2
MOV B,R5
MUL AB
ADD A,R7
MOV R7,A
MOV A,R3
ADDC A,B
MOV R3,A
MOV F0,C
MOV A,R2
MOV B,R4
MUL AB
ADD A,R3
MOV R3,A
CLR A
ADDC A,B
MOV C,F0
ADDC A,#00H
MOV R2,A
RET
FSDT: JC FS2
MOV C,39H
JB F0,FS1
MOV A,R2
RRC A
MOV R2,A
MOV A,R3
RRC A
MOV R3,A
INC R6
RET
FS1: MOV A,R4
RRC A
MOV R4,A
MOV A,R5
RRC A
MOV R5,A
INC R7
RET
FS2: MOV A,R2
JNZ FS4
CJNE R3,#00H,FS5
MOV R6,#41H
FS3: RET
FS4: JB ACC.7,FS3
FS5: MOV C,F0
MOV A,R3
RLC A
MOV R3,A
MOV A,R2
RLC A
MOV R2,A
CLR F0
DEC R6
SJMP FS2
FDIV: LCALL FMLD
MOV A,R6
XRL A,R7
MOV C,ACC.7
MOV 38H,C
CLR A
MOV R6,A
MOV R7,A
CJNE R4,#00H,FD1
CJNE R5,#00H,FD1
SETB C
RET
FD1: MOV A,R3
SUBB A,R5
MOV A,R2
SUBB A,R4
JC FD2
CLR F0
CLR 39H
LCALL FSDT
MOV A,R7
RRC A
MOV R7,A
CLR C
SJMP FD1
FD2: CLR A
XCH A,R6
PUSH ACC
LCALL WDDIV
POP ACC
ADD A,@R0
CLR C
SUBB A,@R1
MOV C,38H
MOV ACC.7,C
MOV R4,A
CLR C
RET
WDDIV: MOV A,R1
PUSH ACC
MOV B,#10H
DV1: CLR C
MOV A,R6
RLC A
MOV R6,A
MOV A,R7
RLC A
MOV R7,A
MOV A,R3
RLC A
MOV R3,A
XCH A,R2
RLC A
XCH A,R2
MOV F0,C
CLR C
SUBB A,R5
MOV R1,A
MOV A,R2
SUBB A,R4
JB F0,DV2
JC DV3
DV2: MOV R2,A
MOV A,R1
MOV R3,A
INC R6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -