多字节bcd码加法.txt

来自「实用子程序.rar本子程序库对《单片机应用程序设计技术》一书附录中的子程序库作了」· 文本 代码 · 共 23 行

TXT
23
字号
;;(1)  标号:  BCDA    功能:多字节BCD码加法
;高位@r0  低位@(r0+n)

;;入口条件:字节数在R7中,被加数在[R0]中,加数在[R1]中。
;;出口信息:和在[R0]中,最高位进位在CY中。
;;;影响资源:PSW、A、R2    堆栈需求:  2字节

BCDA:	MOV	A,R7	;;;取字节数至R2中
	MOV	R2,A
	ADD	A,R0	;;;初始化数据指针
	MOV	R0,A
	MOV	A,R2
	ADD	A,R1
	MOV	R1,A
	CLR	C
BCD1:	DEC	R0	;;;调整数据指针
	DEC	R1
	MOV	A,@R0
	ADDC	A,@R1	;;;按字节相加
	DA	A	;;;十进制调整
	MOV	@R0,A	;;;和存回[R0]中
	DJNZ	R2,BCD1	;;;处理完所有字节
	RET

⌨️ 快捷键说明

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