⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 双字节二进制无符号数除法.txt

📁 实用子程序.rar本子程序库对《单片机应用程序设计技术》一书附录中的子程序库作了重大修订
💻 TXT
字号:
(7)  标号:  DIVD    功能:双字节二进制无符号数除法  注意:结果控制在两字节

;入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。
;出口信息:OV=0 时,双字节商在R2、R3中,OV=1 时溢出。
;影响资源:PSW、A、B、R1~R7    堆栈需求:  2字节

DIVD:	CLR	C	;;比较被除数和除数
	MOV	A,R3
	SUBB	A,R7
	MOV	A,R2
	SUBB	A,R6
	JC	DVD1
	SETB	OV	;;溢出
	RET
DVD1:	MOV	B,#10H	;;计算双字节商
DVD2:	CLR	C	;;部分商和余数同时左移一位
	MOV	A,R5
	RLC	A
	MOV	R5,A
	MOV	A,R4
	RLC	A
	MOV	R4,A
	MOV	A,R3
	RLC	A
	MOV	R3,A
	XCH	A,R2
	RLC	A
	XCH	A,R2
	MOV	F0,C	;;保存溢出位
	CLR	C
	SUBB	A,R7	;;;计算(R2R3-R6R7)
	MOV	R1,A
	MOV	A,R2
	SUBB	A,R6
	ANL	C,/F0                 	;;结果判断
	JC	DVD3
	MOV	R2,A            	;;够减,存放新的余数
	MOV	A,R1
	MOV	R3,A
	INC	R5	                  ;;商的低位置一
DVD3:	DJNZ	B,DVD2	      ;;计算完十六位商(R4R5)
	MOV	A,R4	            ;;将商移到R2R3中
	MOV	R2,A
	MOV	A,R5
	MOV	R3,A
	CLR	OV	;;设立成功标志
	RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -