双字节十六进制小数转换成双字节BCD码小数.txt

来自「常用子程序-61个-4.2M.zip」· 文本 代码 · 共 34 行

TXT
34
字号
 标号: HBD2功能:双字节十六进制小数转换成双字节BCD码小数

入口条件:待转换的双字节十六进制小数在R2、R3中。
出口信息:转换后的双字节BCD码小数仍在R2、R3中。
影响资源:PSW、A、B、R2、R3、R4、R5 堆栈需求:6字节

 HBD2: MOV R4,#4 ;四位十进制码
 HBD3: MOV A,R3 ;原小数扩大十倍
	MOV B,#10
	MUL AB
	MOV R3,A
	MOV R5,B
	MOV A,R2
	MOV B,#10
	MUL AB
	ADD A,R5
	MOV R2,A
	CLR A
	ADDC A,B
	PUSH ACC ;保存溢出的一位十进制码
	DJNZ R4,HBD3 ;计算完四位十进制码
	POP ACC ;取出万分位
	MOV R3,A
	POP ACC ;取出千分位
	SWAP A
	ORL A,R3 ;拼装成低字节BCD码小数
	MOV R3,A
	POP ACC ;取出百分位
	MOV R2,A
	POP ACC ;取出十分位
	SWAP A
	ORL A,R2 ;拼装成高字节BCD码小数
	MOV R2,A
	RET

⌨️ 快捷键说明

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