MOV 41H ,R4 MOV A ,41H JNZ JJ1
MOV A ,40H ;次高位为0,先看最高位是否为不亮
SUBB A ,#0AH JNZ JJ1
MOV 41H ,#0AH ;最高位不亮,次高位也不亮 JJ1 : MOV A ,R0 MOV R4 ,A MOV A ,R1 MOV R5 ,A MOV R3 ,#00D MOV R2 ,#10D LCALL DIV4BY2 MOV 42H ,R4 MOV A ,42H JNZ JJ2
MOV A ,41H ;次次高位为0,先看次高位是否为不亮
SUBB A ,#0AH JNZ JJ2
MOV 42H ,#0AH ;次高位不亮,次次高位也不亮 JJ2 : MOV 43H ,R0 POP B POP PSW POP ACC RET ;
; ************************************************* ; * 两字节无符号数乘法程序 * ; ************************************************** ; R7R6R5R4 <=R3R2 * R1R0 ;
MUL2BY2 : CLR A
41
MOV R7 ,A MOV R6 ,A MOV R5 ,A MOV R4 ,A MOV 46H ,#10H MULLOOP1 : CLR C MOV A ,R4 RLC A MOV R4 ,A MOV A ,R6 RLC A MOV R6 ,A MOV A ,R7 RLC A MOV R7 ,A MOV A ,R0 RLC A MOV R0 ,A MOV A , R1 RLC A MOV R1 ,A JNC MULLOOP2 MOV A ,R4 MOV A ,R2 MOV R4 ,A MOV A , R5 ADDC A ,R3 MOV R5 ,A MOV A ,R6 ADDC A ,#00H MOV R6 ,A MOV A ,R7 ADDC A ,#00H MOV R7 ,A MULLOOP2 : DJNZ 46H ,MULLOOP1
42
RET ;
; ******************************************** ; * 四字节/两字节无符号数除法程序 * ; ******************************************** ; R7R6R5R4/R3R2=R7R6R5R4(商)…R1R0(余数) ;
DIV4BY2 : MOV 46H ,#20H MOV R0 ,#00H MOV R1 ,#00H DIVLOOP1: MOV A ,R4 RLC A MOV R4 ,A MOV A ,R5 RLC A MOV R5 ,A MOV A ,R6 RLC A MOV R6 ,A MOV A ,R7 RLC A MOV R7 ,A MOV A ,R0 RLC A MOV R0 ,A MOV A ,R1 RLC A MOV R1 ,A CLR C MOV A ,R0 SUBB A ,R2 MOV B ,A MOV A ,R1 MOV A ,R3 JC DIVLOOP2
43
MOV R0 ,B MOV R1 ,A DIVLOOP2: CPL C
DJNZ 46H ,DIVLOOP1 MOV A ,R4 RLC A MOV R4 ,A MOV A ,R5 RLC A MOV R5 ,A MOV A ,R6 RLC A MOV R6 ,A MOV A ,R7 RLC A MOV R7 ,A RET ;
END
44
相关推荐: