单片机汇编...如何将两个8 bit的寄存器,一个高八位,一个低八位,实现BCD化啊?
3个回答
展开全部
转成10进吗?
这个很简单
假设R1 是高 R2是低
loop:
mov a,r2
sub a,1h 低位-1
mov a,r1
sbc a,0h 高位带标志减0
snz c 借位跳走结束
jmp END
mov a,1h 没借位将+1并10进制寄存器(daa)
add a,AL
DAA AL
MOV A,0H
ADC A,AH
DAA AH
JMP LOOP
END:
此时的AL AH是十进制数 如果数大可以在增加寄存器
这个很简单
假设R1 是高 R2是低
loop:
mov a,r2
sub a,1h 低位-1
mov a,r1
sbc a,0h 高位带标志减0
snz c 借位跳走结束
jmp END
mov a,1h 没借位将+1并10进制寄存器(daa)
add a,AL
DAA AL
MOV A,0H
ADC A,AH
DAA AH
JMP LOOP
END:
此时的AL AH是十进制数 如果数大可以在增加寄存器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以前写过这个程序。
在百度 网页中,搜索:
做而论道 51单片机把4位16进制数转成10进制数的方法
百度一下,即可查到。
有很多人,把我的文章,传到百度文库去了,都可以看到。
在百度 网页中,搜索:
做而论道 51单片机把4位16进制数转成10进制数的方法
百度一下,即可查到。
有很多人,把我的文章,传到百度文库去了,都可以看到。
更多追问追答
追问
我用的RISC指令集,不能用除法啊,用加减法可以实现吗
追答
没有除法?
有没有十进制调整指令?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把问题再具体点吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询