89C51单片机汇编程序题

编程实现:把内部RAMR0-R7内容传递到20H-27H单元求程序(用循环做)能说一下思路吗?或者注释一下,ADD那句以下没看懂。。。... 编程实现:把内部RAM R0-R7内容传递到20H-27H单元
求程序(用循环做)
能说一下思路吗?或者注释一下,ADD那句以下没看懂。。。
展开
 我来答
fml003
2010-06-06 · TA获得超过1324个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:132万
展开全部
MOV 20H,R0 ;R0、R1要作为指针,所以内容直接转存到20H、21H
MOV 21H,R1
MOV A,PSW ;RS1,RS0的值代表了当前寄存器组中R0的绝对地址
ANL A,#18H ;取当前寄存器组的绝对地址
ADD A,#2H ;指针指向R2,R0、R1已经处理过了
MOV R0,A ;把当前寄存器组R2的地址送R0,设置指向寄存器的指针
MOV R1,#22H ;设置目标地址指针指向22H
M1: MOV A,@R0 ;22H以后依据题意使用循环,寄存器的内容送A
MOV @R1,A ;A的内容送目标地址
INC R0
INC R1
CJNE R1,#28H,M1 ;R1等于28,所有数据传送完
SJMP $

由于RS1、RS0设计在PSW.4和PSW.3,因此屏蔽了别的标志位以后,剩下的值就是选中的工作寄存器组的R0的绝对地址。有了绝对地址,就可以使用间接寻址编出循环程序传送数据。

你最好上机模拟运行一下这段程序,仔细调试,就能看懂了。
果粉倒数一万名
2010-06-06 · 二手果粉,手机、电脑都不熟悉
果粉倒数一万名
采纳数:331 获赞数:985

向TA提问 私信TA
展开全部
MOV A,20H
MOV 30H #08
LOOP:MOV RO,A
INC A
INC R0
DJNZ 30H LOOP
大概这意思,我也很菜的,试试吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式