您现在的位置: 主页 > MCU > 单片机技术应用 > C51单片机的压缩BCD码相加程序 -
本文所属标签:
为本文创立个标签吧:

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

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

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

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

本文引用地址: http://www.21ic.com/app/mcu/201806/764344.htm

编写完整的汇编语言源程序。
;----------------------------------------------------------------------
最佳答案:
;这个程序当然是楼主要求的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




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > C51单片机的压缩BCD码相加程序 -
 

"C51单片机的压缩BCD码相加程序 -"的相关文章

网站地图

围观()