MBFSUB: SETB F0 AS: LCALL MVR1 MOV C,F0 RRC A XRL A,@R1 MOV C,ACC.7 ASN: MOV 1EH,C XRL A,@R0 RLC A MOV F0,C LCALL MVR0 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 RET MVR0: 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 RET MVR1: MOV A,@R1 MOV C,ACC.7 MOV 1EH,C MOV C,ACC.6 MOV ACC.7,C MOV R5,A INC R1 MOV A,@R1 MOV R6,A INC R1 MOV A,@R1 MOV R7,A DEC R1 DEC R1 RET AS1: MOV A,R6 ORL A,R7 JZ AS2 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 AS2: RET EQ1: MOV A,R2 XRL A,R5 JZ AS4 JB ACC.7,EQ3 MOV A,R2 CLR C SUBB A,R5 JC EQ4 EQ2: CLR C MOV A,R6 RRC A MOV R6,A MOV A,R7 RRC A MOV R7,A INC R5 ORL A,R6 JNZ EQ1 MOV A,R2 MOV R5,A SJMP AS4 EQ3: MOV A,R2 JNB ACC.7,EQ2 EQ4: CLR C LCALL RR1 ORL A,R3 JNZ EQ1 MOV A,R5 MOV R2,A AS4: JB F0,AS5 MOV A,R4 ADD A,R7 MOV R4,A MOV A,R3 ADDC A,R6 MOV R3,A JNC AS2 LJMP RR1 AS5: CLR C MOV A,R4 SUBB A,R7 MOV B,A MOV A,R3 SUBB A,R6 JC AS6 MOV R4,B MOV R3,A LJMP RLN AS6: CPL 1FH CLR C MOV A,R7 SUBB A,R4 MOV R4,A MOV A,R6 SUBB A,R3 MOV R3,A RLN: MOV A,R3 ORL A,R4 JNZ RLN1 MOV R2,#0C1H RET RLN1: MOV A,R3 JB ACC.7,RLN2 CLR C LCALL RL1 SJMP RLN RLN2: 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 RET RR1: 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 RR1E: RET