HEX_BCD:CLR A
MOV 30H,A
MOV 31H,A
MOV 32H,A
MOV R2,#15
H_B0: MOV A,R1
RLC A
MOV R1,A
MOV A,R0
RLC A
MOV R0,A
MOV A,32H
RLC A
ACALL BCD_ADJ
MOV 32H,A
MOV A,31H
RLC A
ACALL BCD_ADJ
MOV 31H,A
MOV A,30H
RLC A
ACALL BCD_ADJ
MOV 30H,A
DJNZ R2,H_B0
MOV A,R0
RLC A
MOV A,32H
RLC A
MOV 32H,A
MOV A,31H
RLC A
MOV 31H,A
MOV A,30H
RLC A
MOV 30H,A
RET
BCD_ADJ:PUSH PSW
PUSH ACC
CJNE A,#50H,$+2
JC B1
POP ACC
ADD A,#30H
PUSH ACC
B1: ANL A,#0FH
CJNE A,#5,$+2
JC B2
POP ACC
ADD A,#3
PUSH ACC
B2: POP ACC
POP PSW
RET
一个 hex to bcd 的算法程序
最新推荐
- 单片机C语言实验及实践教程31---6位数显频率计数器
- 单片机C语言实验及实践教程17--- 99秒马表设计(一)
- 第一课:建立您的第一个C项目(使用C语言肯定要使用到C编译器)
- typedef 和 #define 有何不同
- 单片机C语言实验及实践教程32:电子密码锁设计(一)
- 第五课 常 量 (常量是在程序运行过程中不能改变值的量,而变量是可以......)(一)
- 第七课 运算符和表达式(1) (上课到这一课相隔了好长一段时间,这些日子......)
- 单片机C语言实验及实践教程34:(一)
- #pragma asm是什么意思?--C51问答
- philips的单片机P89C51RD+的扩展RAM在C51中如何使用
- 单片机C语言实验及实践教程2.模拟开关灯
- 第二课:初步认识51芯片 (上一课我们的第一个项目完成了,可能有懂C语言的朋友会说...)(一)