关于单片机编程的一道题,请高手们来看一看。

把片内RAM43H单元里的16个数传送到片内60H开始的单元中。以下是我的编程,请大家看看对否。MOVR2,#16HMOVR0,#60HMOVA,#43HLOOP:MOV... 把片内RAM43H单元里的16个数传送到片内60H开始的单元中。以下是我的编程,请大家看看对否。
MOV R2,#16H
MOV R0,#60H
MOV A,#43H
LOOP:MOV @R0,A
INC A
INC R0
DJNZ R2,LOOP
RET
有人和说我MOV R2,#16H里的#16H应该改为10H,请问这样改对否,为什么可以这样改,还有如果程序还有哪些不足之处,还请指出。求高人详细指点。
10H少打一个#号,,,有人让我将#16H改为#10H
展开
 我来答
落幕sLZD
2011-06-18 · 超过14用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:34.8万
展开全部
不对,你那又不是子程序,不用RET。INC A是把A里的值加1,不是地址加1.
MOV R2,#10H
MOV R0,#60H
MOV R1,#43H
LOOP:MOV A,@R1
MOV @R0,A
INC R1
INC R0
DJNZ R2,LOOP
追问
那#16H和#10H是怎么回事
追答
数字后面带H表示十六进制,#16H就是十进制的22,#10H是十进制16.
xiyuot
2011-07-01
知道答主
回答量:13
采纳率:0%
帮助的人:1.7万
展开全部
你用的是什么进制 h是16进制 那面16h 就不是16了 而是22 所以就这样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
598220672
2011-06-19
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
上面那个编程正确,不能用#16H可以用#16(十进制)或#10H(十六进制)都表示数16
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yark008
2011-06-18 · 超过13用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:35.6万
展开全部
不对,这个不是子程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式