SJMP NDV421 NDV422 :PUSH B MOV B,#10H NDV423 :CLR C MOV A,R4 RLC A MOV R4,A MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A XCH A,R5 RLC A XCH A,R5 MOV F0,C CLR C SUBB A,R7 MOV R1,A MOV A,R5 SUBB A,R6
JB F0,NCV424 JC NDV425 NCV424 :MOV R5,A MOV A,R1 MOV R2,A INC R4
NDV425 :DJNZ B,NDV423 POP A CLR OV JNZ NDV426 SETB OV
NDV426 :XCH A,R2 MOV R7,A MOV A,R5 MOV R6,A POP A MOV R1,A RET
;N字节无符号除法程序(组合) ([R0]/[R1])=([R0]) ;入口 :R0,R1,M,N
;占用资源:ACC,R2,R3,R4,R5,R7,NCNT,F0,NADDN,NSUBBN,NRLCN ;堆栈需求:4字节
;出口 :R0
;NDIVMN :MOV A,M CLR C SUBB A,N MOV NCNT,A ADD A,R0 MOV R4,A XCH A,R0 MOV R3,A MOV A,R1 MOV R5,A MOV R2,#00H NDVMN1 :MOV R7,N LCALL NSUBN MOV A,R5 MOV R1,A JC NDVMN2 INC R2
SJMP NDVMN1 NDVMN2 :MOV R7,N LCALL NADDN MOV A,NCNT
SWAP A RR A
MOV NCNT,A NDVMN3 :MOV A,R3 MOV R0,A MOV R7,M LCALL NRLCN MOV F0,C MOV A,R4 MOV R0,A MOV A,R5 MOV R1,A MOV R7,N LCALL NSUBN JB F0,NDVMN4 JC NDVMN5 NDVMN4 :MOV A,R3 MOV R0,A INC @R0 SJMP NDVMN6 NDVMN5 :MOV A,R5 MOV R1,A
相关推荐: