📄 4字节除以2字节.asm
字号:
;****************************************************
;* 四字节/两字节无符号数除法程序 *
;****************************************************
;R7R6R5R4/R3R2=R7R6R5R4(商)...R1R0(余数)
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV R7,#00H
MOV R6,#00H
MOV R5,#0FFH
MOV R4,#0F3H
MOV R3,#04H
MOV R2,#4CH
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
SUBB A, R3
JC DIVLOOP2
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
;*****************余数运算*********************************
;计算电容值:入口:R5(高)、R4(低),被除数;R2(低)、R3(高),除数
;出口:R5(高)、R4(低),商;R7(高)、R6(低),余数
MOV A,R1
MOV R5,A
MOV A,R0
MOV R4,A
MOV R3,#04H
MOV R2,#4CH
CLR A
MOV R7,A
MOV R6,A
MOV R0,#10H
LP:CLR C
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
LP1:MOV A,R6
SUBB A,R2
MOV R1,A
MOV A,R7
SUBB A,R3
JC SMALL
MOV R7,A
MOV A,R1
MOV R6,A
INC R4
SJMP LP1
SMALL:DJNZ R0,LP
SJMP $
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -