打印

这段程序一直没搞懂它的执行过程

[复制链接]
1233|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yinxiangh|  楼主 | 2013-1-10 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ov, BCD, vr, CD, hm
下面这段程序一直没搞懂它的执行过程,望赐教!
;功能:单字节十六进制数转三位单字节BCD码
;入口:单字节十六进制数存R5
;出口:单字节BCD码存:百位R2,十位R3,个位R4
;影响单元:R0,R1,R6
HEX2BCD:
CLR    A                      ;BCD码初始化
MOV    R0,    A
MOV    R1,    A
MOV    R6,    #08H      ;转换单字节八进制整数
HEX2BCD_N0:
MOV    A,     R5         
RLC    A                       ;从高端移出待转换数的一位到CY中
MOV    R5,    A
MOV    A,     R1            ;BCD码带进位自身相加,相当于乘2
ADDC   A,     R1
DA     A                        ;十进制调整
MOV    R1,    A
MOV    A,     R0
ADDC   A,     R0
MOV    R0,    A             ;百位不可能超过2,故不需十进制调整
DJNZ   R6,    HEX2BCD_N0    ;处理完8BIT
MOV A,R1                   ;压缩BCD码转单字节BCD码
ANL A,#0FH
MOV R4,A
MOV A,R1
SWAP A
ANL A,#0FH
MOV R3,A
MOV A,R0
ANL A,#0FH
MOV R2,A
RET
沙发
pangb| | 2013-1-10 19:23 | 只看该作者
直接用除法

使用特权

评论回复
板凳
chenjunt| | 2013-1-10 19:26 | 只看该作者
楼上正解

使用特权

评论回复
地板
morrisk| | 2013-1-10 19:26 | 只看该作者
学习了

使用特权

评论回复
5
yinxiangh|  楼主 | 2013-1-10 19:27 | 只看该作者
多谢大家了啊

使用特权

评论回复
6
yinxiangh|  楼主 | 2013-1-10 19:28 | 只看该作者
那就先结贴了,呵呵~~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

723

主题

7134

帖子

2

粉丝