FE2: 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 LCALL MUL1 CLR 1EH 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 LCALL MUL1 E20: MOV A,R3 ORL A,R4 JZ EXP1 MOV A,R2 JB ACC.7,EXP2 SETB C SUBB A,#6 JC EXP2 JB 1FH,EXP0 MOV @R0,#3FH INC R0 MOV @R0,#0FFH INC R0 MOV @R0,#0FFH DEC R0 DEC R0 SETB OV RET EXP0: MOV @R0,#41H CLR A INC R0 MOV @R0,A INC R0 MOV @R0,A DEC R0 DEC R0 CLR OV RET EXP1: MOV @R0,#1 INC R0 MOV @R0,#80H INC R0 MOV @R0,#0 DEC R0 DEC R0 CLR OV RET EXP2: MOV A,R2 MOV R5,A MOV A,R3 MOV R6,A MOV A,R4 MOV R7,A MOV C,1FH MOV 1EH,C ;对第一区取整 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,R3 JZ EXP4 EXP3: CLR C RRC A INC R2 CJNE R2,#8,EXP3 EXP4: MOV R3,A JNB 1FH,EXP5 CPL A INC A EXP5: PUSH ACC ;重新规格化 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 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 CLR A INC DPTR JMP @A+DPTR 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 RET DB 77H,0B1H,0C9H DB 7AH,0A1H,68H DB 7CH,0E3H,4FH DB 7EH,0F5H,0E7H DB 0,0B1H,72H DB 1,80H,0 DB 40H POP ACC ADD A,R2 MOV R2,A CLR 1FH ;将幂传回[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