FLTSIN:
MOV A,@R0
MOV C,ACC.7
MOV 1DH,C
CLR ACC.7
MOV @R0,A
MOV A,@R0
MOV C,ACC.7
MOV 1FH,C
MOV C,ACC.6
MOV ACC.7,C
MOV R2,A
INC R0
MOV A,@R0
MOV R3,A
INC R0
MOV A,@R0
MOV R4,A
DEC R0
DEC R0
MOV R5,#0
MOV R6,#0A2H
MOV R7,#0FAH
CLR 1EH
LCALL MUL1
MOV A,R2
MOV R5,A
MOV A,R3
MOV R6,A
MOV A,R4
MOV R7,A
INT:
MOV A,R3
ORL A,R4
JNZ INTA
CLR 1FH
MOV R2,#41H
RET
INTA:
MOV A,R2
JZ INTB
JB ACC.7,INTB
CLR C
SUBB A,#10H
JC INTD
RET
INTB:
CLR A
MOV R4,A
MOV C,1FH
RRC A
MOV R3,A
RL A
MOV R2,A
JNZ INTC
MOV R2,#41H
INTC:
RET
INTD:
CLR F0
MOV A,R2
JZ SIN2
SIN1:
CLR C
MOV A,R3
RRC A
MOV R3,A
MOV A,R4
RRC A
MOV R4,A
INC R2
CLR OV
CJNE R2,#40H,RR1E
MOV R2,#3FH
SETB OV
RRE1:
CJNE R2,#10H,SIN1
MOV A,R4
JNB ACC.1,SIN2
CPL 1DH
SIN2:
JB ACC.0,SIN3
CPL 1FH
SJMP SIN4
SIN3:
MOV A,R4
INC A
MOV R4,A
JNZ SIN4
INC R3
SIN4:
RLNORM:
MOV A,R3
ORL A,R4
JNZ RLNORM1
MOV R2,#0C1H
RET
RLNORM1:
MOV A,R3
JB ACC.7,RLNORM2
CLR C
LCALL RL1
SJMP RLNORM
RLNORM2:
CLR OV
RET
RL1:
MOV A,R4
RLC A
MOV R4,A
MOV A,R3
RLC A
MOV R3,A
DEC R2
CJNE R2,#0C0H,RL1E
CLR A
MOV R3,A
MOV R4,A
MOV R2,#0C1H
RL1E:
CLR OV
SETB F0
LCALL AS1
MOV0:
INC R0
INC R0
MOV A,R4
MOV @R0,A
DEC R0
MOV A,R3
MOV @R0,A
DEC R0
MOV A,R2
MOV C,1FH
MOV ACC.7,C
MOV @R0,A
CLR ACC.7
CLR OV
CJNE A,#3FH,MV01
SETB OV
MV01:
MOV A,@R0
FPLN:
POP DPH
POP DPL
XCH A,R0
XCH A,R1
XCH A,R0
CLR A
MOV R2,A
MOV R3,A
MOV R4,A
CLR 1FH
PLN1:
CLR A
MOVC A,@A+DPTR
MOV C,ACC.7
MOV 1EH,C
MOV C,ACC.6
MOV ACC.7,C
MOV R5,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R6,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R7,A
INC DPTR
MOV C,1EH
RRC A
XRL A,23H
RLC A
MOV F0,C
AS1:
MOV A,R6
ORL A,R7
JZ MOV0
MOV A,R3
ORL A,R4
JNZ EQ1
MOV A,R6
MOV R3,A
MOV A,R7
MOV R4,A
MOV A,R5
MOV R2,A
MOV C,1EH
MOV 1FH,C
CLR A
MOVC A,@A+DPTR
CJNE A,#40H,PLN2
XCH A,R0
XCH A,R1
XCH A,R0
MOV0:
INC R0
INC R0
MOV A,R4
MOV @R0,A
DEC R0
MOV A,R3
MOV @R0,A
DEC R0
MOV A,R2
MOV C,1FH
MOV ACC.7,C
MOV @R0,A
CLR ACC.7
CLR OV
CJNE A,#3FH,MV01
SETB OV
MV01:
MOV A,@R0
CLR A
INC DPTR
JMP @A+DPTR
PLN2:
MOV A,@R1
XRL A,23H
RLC A
MOV 1FH,C
LCALL MUL0
SJMP PLN1
FLOG:
MOV A,@R0
MOV C,ACC.7
MOV 1FH,C
MOV C,ACC.6
MOV ACC.7,C
MOV R2,A
INC R0
MOV A,@R0
MOV R3,A
INC R0
MOV A,@R0
MOV R4,A
DEC R0
DEC R0
JB 1FH,LNOV
MOV A,R3
ORL A,R4
JNZ LN0
LNOV:
SETB OV
JNB OV,LOG
RET
MUL0:
LCALL MVR1
MUL1:
MOV A,R3
ORL A,R4
JZ MUL6
MOV A,R6
ORL A,R7
JZ MUL5
MOV A,R7
MOV B,R4
MUL AB
MOV A,B
XCH A,R7
MOV B,R3
MUL AB
ADD A,R7
MOV R7,A
CLR A
ADDC A,B
XCH A,R4
MOV B,R6
MUL AB
ADD A,R7
MOV R7,A
MOV A,B
ADDC A,R4
MOV R4,A
CLR A
RLC A
XCH A,R3
MOV B,R6
MUL AB
ADD A,R4
MOV R4,A
MOV A,B
ADDC A,R3
MOV R3,A
JB ACC.7,MUL2
MOV A,R7
RLC A
MOV R7,A
LCALL RL1
MUL2:
MOV A,R7
JNB ACC.7,MUL3
INC R4
MOV A,R4
JNZ MUL3
INC R3
MOV A,R3
JNZ MUL3
MOV R3,#80H
INC R2
MUL3:
MOV A,R2
ADD A,R5
MD:
MOV R2,A
JB ACC.7,MUL4
JNB ACC.6,MUL6
MOV R2,#3FH
SETB OV
RET
MUL4:
JB ACC.6,MUL6
MUL5:
CLR A
MOV R3,A
MOV R4,A
MOV R2,#41H
MUL6:
CLR OV
DB 7DH,93H,28H
DB 41H,0,0
DB 80H,0A4H,64H
DB 41H,0,0
DB 1,0C9H,2
DB 41H,0,0
DB 40H ;结束
MOV A,@R0
JZ SIN5
JB ACC.6,SIN5
INC R0
MOV @R0,#80H
INC R0
MOV @R0,#0
DEC R0
DEC R0
MOV A,#1
SIN5:
MOV C,1DH
MOV ACC.7,C
MOV @R0,A
RET