#41H;被除数为零,不必运算РCLR OVРRETРDIV1: INC R1РMOV A,@R1РINC R1РORL A,@R1РDEC R1РDEC R1РJNZ DIV2РSETB OV ;除数为零,溢出РRETРDIV2: LCALL MVR0 ;将[R0]传送到第一工作区中РMOV A,@R0РXRL A,@R1 ;比较两个操作数的符号РRLC AРMOV 1FH,C ;保存结果的符号РLCALL MVR1 ;将[R1]传送到第二工作区中РLCALL DIV3 ;调用工作区浮点除法РLJMP MOV0 ;回传结果РDIV3: CLR C ;比较尾数的大小РMOV A,R4РSUBB A,R7РMOV A,R3РSUBB A,R6РJC DIV4РLCALL RR1 ;被除数右规一次РSJMP DIV3РDIV4: CLR A ;借用R0R1R2作工作寄存器РXCH A,R0 ;清零并保护之РPUSH ACCРCLR AРXCH A,R1РPUSH ACCРMOV A,R2РPUSH ACCРMOV B,#10H ;除法运算,R3R4/R6R7-→R0R1РDIV5: CLR CРMOV A,R1РRLC AРMOV R1,AРMOV A,R0РRLC AРMOV R0,AРMOV A,R4РRLC AРMOV R4,AРXCH A,R3РRLC AРXCH A,R3РMOV F0,CРCLR CРSUBB A,R7РMOV R2,AРMOV A,R3РSUBB A,R6РANL C,/F0РJC DIV6РMOV R3,AРMOV A,R2РMOV R4,AРINC R1РDIV6: DJNZ B,DIV5РMOV A,R6 ;四舍五入РCLR CРRRC AРSUBB A,R3РCLR AРADDC A,R1 ;将结果存回R3R4РMOV R4,AРCLR A