新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > EM78系列单片机的数值转换子程序简介

EM78系列单片机的数值转换子程序简介

作者:时间:2012-08-12来源:网络收藏

jbc 0x03,0
inc 0x35
mov a,0x34
mov 0x30,a
mov a,0x35
mov 0x31,a
ret
eop
七 二进制数为BCD码
本例为单字节二进制数(0X20)为非压缩BCD码,存在0X25,0X24,0X23中,0X25为百位,0X23为个位。
main: mov a,@0xa4 ;赋值
mov 0x20,a
mov 0x21,a
mov 0x22,a
mov a,@0x0 ;0x23,0x24,0x25单元清0
mov 0x23,a
mov 0x24,a
mov 0x25,a
mov a,@0x64 ;对100的个数计数
mov 0x26,a
mov a,@0x25 ;百位存在0x25中
mov 0x04,a
call a0 ;调计数子程
mov a,@0x0a ;对10的个数计数
mov 0x26,a
dec 0x04 ;个位存在0x24中
call a0
mov a,0x22 ;除去百位,十位,余下的即个位,存入0x23
mov 0x23,a
self: jmp self
a0: ;计数子程
mov a,0x26
sub 0x22,a
jbs 0x03,2
jmp a1
inc 0x00 ;无余数则对应位加1
mov a,@0x0 ;0x21与0x22在返回时应保持相同
mov 0x21,a
ret
a1: jbs 0x03,0 ;小于则跳a2
jmp a2
inc 0x00 ;大于则计加1
mov a,0x22
mov 0x21,a ;将0x22保存到0x21中
jmp a0 ;跳回a0继续计数
a2: mov a,0x21 ;0x21中保存的减之前的数据,此时恢复到0x22
mov 0x22,a
ret
eop

本文引用地址:http://www.eepw.com.cn/article/171052.htm
上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭