单片机指令解释,把每一条指令的作用解释下,每一步的计算和累加也解释下,谢谢

org0000hljmp0030horg0030hcword:mova,#0c5hmovdptr,#0030hmovx@dptr,amovr0,#20hmov@r0,am... org 0000h
ljmp 0030h
org 0030h
cword:mov a,#0c5h
mov dptr,#0030h
movx @dptr,a
mov r0,#20h
mov@r0,a
mov r0,a
push acc
anl a,#1fh
movc a,@a+dptr
inc dptr
movx @dptr,a
mov b,a
pop acc
cword1:sjmp cword1
end
展开
 我来答
ch314156
2010-10-11 · TA获得超过4378个赞
知道小有建树答主
回答量:2036
采纳率:100%
帮助的人:1070万
展开全部
既然你还没学汇编,我就不用专业术语给你解释了,用好理解的方法帮你简单解释下,如果有必要我们再讨论

org 0000h ;表示下一条指令的地址是0000h
ljmp 0030h ;跳转到30h处的指令
org 0030h
cword:mov a,#0c5h ;cword:人为定义的标号,mov a,#0c5h :把0c5h放入a寄存器里
mov dptr,#0030h ;把30h放入dptr寄存器中
movx @dptr,a ;@表示存储器地址,地址数为@后的寄存器中的内容(30h),即把a中的内容放如地址数为30h的存储区
mov r0,#20h
mov @r0,a
mov r0,a
push acc ;把a寄存器压入堆栈
anl a,#1fh ;a和1fh做“和”运算
movc a,@a+dptr
inc dptr ;dptr做+1处理
movx @dptr,a
mov b,a
pop acc ;弹出a
cword1:sjmp cword1 ;跳到sword1处,即做自循环
end ;结束

注:
mov:访问片内RAM
movx:访问片外RAM
movc:访问ROM

RAM:数据存储区
ROM: 程序存储区

mov a,#0c5h 与 mov a,0c5h 是不同的,前者是将0c5h放入a;后者是将RAM地址数为0c5h处的数据放入a。

mov r0,a 与 mov @r0,a 是不同的,前者将a的内容放入r0寄存器;后者将a的内容放入数据存储区某处,其地址为r0的内容。

这段指令把数据挪来挪去,貌似没具体的意图,结果不重要

希望对你有帮助,不明白的我们可以再讨论
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式