C51单片机的压缩BCD码相加程序

设被加数 NA 及加数 NB 均为三字节压缩BCD码,分别存放于内部 RAM 的 20H~22H 及 30H~32H 单元中,低位在前,高位在后。
要求计算两数之和,并将和存放到内部 RAM 中 3FH~42H 单元,仍然是低位在前,高位在后。

编写完整的汇编语言源程序。
悬赏分:80 - 解决时间:2010-5-7 00:26
;----------------------------------------------------------------------
最佳答案:
;这个程序当然是楼主要求的C51单片机程序。
;下面增加一些调试时使用的数据。

    ORG 0000H
    MOV 20H, #12H     ;假设被加数NA是563412
    MOV 21H, #34H
    MOV 22H, #56H
    MOV 30H, #77H     ;假设加数NB是998877
    MOV 31H, #88H
    MOV 32H, #99H

    LCALL ADD3B         ;调用3字节加法子程序

    SJMP $             ;相加结束,暂停,此时可以观察到和的数值:1562289
;-----------------------------------------------
; 3字节加法子程序如下:
;相加数字的字节数不多,地址且有三个,故不用循环结构
ADD3B:
    MOV A, 20H
    ADD A, 30H
    DA   A
    MOV 3FH, A
    MOV A, 21H
    ADDC A, 31H
    DA   A
    MOV 40H, A
    MOV A, 22H
    ADDC A, 32H
    DA   A
    MOV 41H, A
    MOV A, #0
    ADDC A, #0
    MOV 42H, A
    RET

回答者: 做而论道 - 十三级 2010-5-6 17:52
提问者对于答案的评价:thanks
原题网址:http://zhidao.baidu.com/question/151360024.html
================================================
其他回答共 3 条
------------------------------------------------
楼上厉害,完全bingo 。
------------------------------------------------
一楼写的是51的程序吗?怎 么看起来像8086的程序?
回答者: jingmingxie - 六级 2010-5-6 14:08
------------------------------------------------
汇编我也是刚学一楼写的感觉是对的。
回答者: ----------- - 四级 2010-5-6 15:46
================================================
呵呵,有人好像懂的很多,但是却弄混了。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值