导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请大侠们指点[单★片★机]

 *第39568篇: 请大侠们指点

  
楼 主:单★片★机 2006年4月22日21:06
 请大侠们指点
下面这个是把双字节十六进制无符号整数变换成BCD码的程序,我现在要用一个三字节十六进制数转BCD码的程序,请问该怎么
改? 请大侠们指点。


 标号: HB2功能:双字节十六进制整数转换成双字节BCD码整数

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

HB2: CLR A ;BCD码初始化
    MOV R3,A
    MOV R4,A
    MOV R5,A
    MOV R2,#10H ;转换双字节十六进制整数
HB3: MOV A,R7 ;从高端移出待转换数的一位到CY中
    RLC A
    MOV R7,A
    MOV A,R6
    RLC A
    MOV R6,A
    MOV A,R5 ;BCD码带进位自身相加,相当于乘2
    ADDC A,R5
    DA A ;十进制调整
    MOV R5,A
    MOV A,R4
    ADDC A,R4
    DA A
    MOV R4,A
    MOV A,R3
    ADDC A,R3
    MOV R3,A ;双字节十六进制数的万位数不超过6,不用调整
    DJNZ R2,HB3 ;处理完16bit
    RET


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:刚学单片人的声音

[下一篇主题]:PIC单片机不懂哦!