请帮忙看看这段程序对不对

[复制链接]
2124|3
 楼主| E_T 发表于 2007-6-20 14:52 | 显示全部楼层 |阅读模式
ov, AD, BCD, CD, TE
;;;;;;8 位二进制数转BCD 码子程序;;;;;;;;;

bintobcd:
        bcr         status,c
        movia       08h            ;循环移位次数8 次
        movar       count
        clrr        r0
        clrr        r1

loop:
        rlr         byte,1
        rlr         r1,1
        rlr         r0,1            ;byte 左移一位至r1,r0 中
        decrsz      count,1
        goto        adj_dec         ;将r0,r1 移位结果进行bcd 调整
        return

adj_dec:
        movia      r1
        movar      fsr
        call       adj_bcd
        movia      r0
        movar      fsr
        call       adj_bcd
        goto       loop


adj_bcd:
        movia       03h
        addar       indf,0              ;低半字节+3>7 吗?
        movar       temp
        btrsc       temp,3
        movar       indf                ;是,低半字节+3>7,lsd+3--->lsd

        movia       30h
        addar       indf,0              ;高半字节+3>7 吗?
        movar       temp
        btrsc       temp,7
        movar       indf                ;是,高半字节+3>7,msd+3--->msd

        return
 楼主| E_T 发表于 2007-6-20 23:17 | 显示全部楼层

怎么没人回啊?

这是从网上搜下来的,觉得好像有点问题......
hyh0lh 发表于 2007-6-21 09:35 | 显示全部楼层

最好还是自己写一个

前两天有个面视的帖子谈的就是一个2进制码转换成压缩BCD的事。你去找找。
 楼主| E_T 发表于 2007-6-21 17:53 | 显示全部楼层

LS 认为这程序对不对?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

E_T

25

主题

96

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部