高级会员 
 
主题
回帖0
积分1741
阅读权限30
注册时间2011-1-10
最后登录1970-1-1
在线时间 小时
 
 
 
 
 | 
k可以用的: 
 
;**************************************************** "  
;* 四字节/两字节无符号数除法程序 *  
;****************************************************   
;  R4R5R6R7 / R2R3 = R4R5R6R7(商)  ...R2R3  (余数)  
 
;================================================= 
DIV4B: 
                   CLR   A 
                   MOV   R1,A 
                   MOV   R0,A 
                   CJNE  R0,#00H,DIV4B_1 
                   CJNE  R1,#00H,DIV4B_2 
                   CJNE  R2,#00H,DIV4B_3 
                   MOV   A,R4 
                   MOV   B,R3 
                   DIV   AB 
                   XCH   A,R7 
                   XCH   A,R6 
                   XCH   A,R5 
                   MOV   R4,A 
                   MOV   A,B 
                   XCH   A,R3 
                   MOV   R1,A 
                   MOV   R0,#18H 
DIV4B_A:           MOV   A,R7 
                   ADD   A,R7 
                   MOV   R7,A 
                   MOV   A,R6 
                   RLC   A 
                   MOV   R6,A 
                   MOV   A,R5 
                   RLC   A 
                   MOV   R5,A 
                   MOV   A,R4 
                   RLC   A 
                   MOV   R4,A 
                   MOV   A,R3 
                   RLC   A 
                   MOV   R3,A 
                   JBC   CY,DIV4B_B 
                   SUBB  A,R1 
                   JC    DIV4B_C 
DIV4B_B:           MOV   A,R3 
                   SUBB  A,R1 
                   MOV   R3,A 
                   INC   R7 
DIV4B_C:           DJNZ  R0,DIV4B_A 
                   CLR   A 
                   MOV   R1,A 
                   MOV   R2,A 
                   RET 
;================================================= 
DIV4B_1:           MOV   B,#08H 
                   MOV   DPL,#00H 
DIV4B_11:          MOV   A,R7 
                   ADD   A,R7 
                   MOV   R7,A 
                   MOV   A,R6 
                   RLC   A 
                   MOV   R6,A 
                   XCH   A,R5 
                   RLC   A 
                   XCH   A,R5 
                   XCH   A,R4 
                   RLC   A 
                   XCH   A,R4 
                   XCH   A,DPL 
                   RLC   A 
                   XCH   A,DPL 
                   SUBB  A,R3 
                   MOV   A,R5 
                   SUBB  A,R2 
                   MOV   A,R4 
                   SUBB  A,R1 
                   MOV   A,DPL 
                   SUBB  A,R0 
                   JC    DIV4B_12 
                   MOV   DPL,A 
                   MOV   A,R6 
                   SUBB  A,R3 
                   MOV   R6,A 
                   MOV   A,R5 
                   SUBB  A,R2 
                   MOV   R5,A 
                   MOV   A,R4 
                   SUBB  A,R1 
                   MOV   R4,A 
                   INC   R7 
DIV4B_12:          DJNZ  B,DIV4B_11 
                   CLR   A 
                   XCH   A,R6 
                   MOV   R3,A 
                   CLR   A 
                   XCH   A,R5 
                   MOV   R2,A 
                   CLR   A 
                   XCH   A,R4 
                   MOV   R1,A 
                   MOV   R0,DPL 
                   RET 
;================================================ 
DIV4B_2:           MOV   B,#10H 
DIV4B_21:          MOV   A,R7 
                   ADD   A,R7 
                   MOV   R7,A 
                   MOV   A,R6 
                   RLC   A 
                   MOV   R6,A 
                   MOV   A,R5 
                   RLC   A 
                   MOV   R5,A 
                   XCH   A,R4 
                   RLC   A 
                   XCH   A,R4 
                   XCH   A,R0 
                   RLC   A 
                   XCH   A,R0 
                   JBC   CY,DIV4B_22 
                   SUBB  A,R3 
                   MOV   A,R4 
                   SUBB  A,R2 
                   MOV   A,R0 
                   SUBB  A,R1 
                   JC    DIV4B_23 
DIV4B_22:          MOV   A,R5 
                   SUBB  A,R3 
                   MOV   R5,A 
                   MOV   A,R4 
                   SUBB  A,R2 
                   MOV   R4,A 
                   MOV   A,R0 
                   SUBB  A,R1 
                   MOV   R0,A 
                   INC   R7 
DIV4B_23:          DJNZ  B,DIV4B_21 
                   CLR   A 
                   XCH   A,R5 
                   MOV   R3,A 
                   CLR   A 
                   XCH   A,R4 
                   MOV   R2,A 
                   CLR   A 
                   XCH   A,R0 
                   MOV   R1,A 
                   RET 
;================================================ 
DIV4B_3:           MOV   R0,#18H 
DIV4B_31:          MOV   A,R7 
                   ADD   A,R7 
                   MOV   R7,A 
                   MOV   A,R6 
                   RLC   A 
                   MOV   R6,A 
                   MOV   A,R5 
                   RLC   A 
                   MOV   R5,A 
                   MOV   A,R4 
                   RLC   A 
                   MOV   R4,A 
                   XCH   A,R1 
                   RLC   A 
                   XCH   A,R1 
                   JBC   CY,DIV4B_32 
                   SUBB  A,R3 
                   MOV   A,R1 
                   SUBB  A,R2 
                   JC    DIV4B_33 
DIV4B_32:          MOV   A,R4 
                   SUBB  A,R3 
                   MOV   R4,A 
                   MOV   A,R1 
                   SUBB  A,R2 
                   MOV   R1,A 
                   INC   R7 
DIV4B_33:          DJNZ  R0,DIV4B_31 
                   CLR   A 
                   XCH   A,R1 
                   MOV   R2,A 
                   CLR   A 
                   XCH   A,R4 
                   MOV   R3,A 
                   RET |   
 
 
 
 |