*stc系列单片机汇编:求1+2+……+99,并送入单片机基本RAM高128B**

stc系列单片机汇编:求1+2+……+99,并送入单片机基本RAM高128B
核心思想:边加边使用bcd加法调整指令(DA A)调整
注意:1、bcd加法调整指令两个加数必须为bcd码
2、bcd加法调整指令只能紧跟在加法指令后进行
3、因为bcd加法调整指令两个加数必须为bcd码,所以程序首先进行的是将加数调整为bcd码。

ORG 0000H
LJMP START
ORG 0100H
START:
MOV R2,#00H ; bcd码数1-19
MOV R3,#63H ;循环19次
MOV R4,#00H ;百位
MOV R5,#00H ;十位、个位
LOOP:
MOV A,R2 ;将R2送入累加器
ADD A,#01H ;累加器加1
DA A ;bcd码调整
MOV R2,A ;将调整后的bcd码值送入R2
MOV A,R5 ;将R5值送入累加器A
ADD A,R2 ;码数相加
DA A ;调整
MOV R5,A ;bcd码送入R4
CLR A ;累加器清零
ADDC A,#00H ;cy值送入A
JNZ BAIWEI ;累加器A为非0转移
DJNZ R3,LOOP ;减1非0转移进行循环
SJMP stop

BAIWEI:
ADDC A,R4 ;将进位1与百位寄存器R4相加结果送给A
DA A ;bcd码调整
MOV R4,A ;调整后的bcd码送回R4
DJNZ R3,LOOP ;减1非0转移进行循环
SJMP stop
stop:
MOV R0,#80H ;以下代码为将计算结果送入基本RAM高128B
MOV R1,#81H
MOV A,R4
MOV @R0,A
MOV A,R5
MOV @R1,A
SJMP $
END

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值