找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机汇编程序解读,一个下午没整明白

查看数: 4440 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-12-9 18:43

正文摘要:

请大神帮忙解读下这三段程序,一条条解读,越详细越好。 一群人学了下下午没整明白。。。

回复

ID:155507 发表于 2018-12-11 00:15
我给你来个试试

  1. ;流水灯程序
  2. org         0000h       ;设置起始地址
  3.                 ajmp main   ;无条件跳转指令 跳到 main
  4. org         0100h       ;定位的伪指令 顺序放到从0100H开始的程序单元
  5. main:         mov r4,#04h ;向R4寄存器中载入十六进制数04H
  6. loop:         mov a,#01h  ;向A寄存器中载入十六进制数01H
  7. loop1:         mov P1,a    ;取出的值输出到P1端口
  8.                 acall delay ;调入延时程序
  9.                 rl a        ;  累加器A 循环左移
  10.                 djnz r4,loop1  ;检测R4是否为零,每次减1不为零就跳 否则跳到loop1处继续执行
  11.                 mov r4,#04h ;赋初值
  12.                 ajmp loop   ;无条件跳转指令 跳到loop
  13. delay:         mov r7,#64h ;   延时程序 ;向R7寄存器中载入十六进制数64H
  14. loop3:         mov r6,#0C8h ;向R6寄存器中载入十六进制数0C8H
  15. loop4:         nop         ;表示执行一条没有什么意义的空指令
  16.                 nop         ;表示执行一条没有什么意义的空指令
  17.                 nop         ;表示执行一条没有什么意义的空指令
  18.                 djnz r6,loop4  ;检测R6是否为零,每次减1不为零就跳 否则跳到loop4处继续执行
  19.                 djnz r7, loop3  ;检测R7是否为零,每次减1不为零就跳 否则跳到loop3处继续执行
  20.                 ret         ;返回指令
  21. End  ;程序结束
复制代码
ID:387733 发表于 2018-12-10 15:57
学汇编不是为了用汇编编程。编程效率C远大于汇编,但是掌握了汇编,可以更好地运用C,更便于调试。有C基础的学习汇编时,可以看看每条C指令对应的汇编,对学习是有好处的
ID:442940 发表于 2018-12-10 15:27
  不要这样直接看吧,写汇编最好找一个编译软件。 我最早做51就是用汇编的,用伟福什么的那个软件,一步一步去跑代码,看寄存器变化,就知道是什么意思了。学起来还是很快的。   
  如果是为了应付考试,那么还真别浪费这个时间了。
ID:265687 发表于 2018-12-10 14:55
可以帮助!精神可嘉,都用c了,他还在弄汇编
ID:443305 发表于 2018-12-10 14:48
多看书啊,兄弟
ID:443295 发表于 2018-12-10 14:36
加油   先记代码
ID:443261 发表于 2018-12-10 14:10
汇编语言比较基础,学好了  对C语言学习也是很有好处的
ID:443246 发表于 2018-12-10 13:53
可以帮但没必要
ID:310519 发表于 2018-12-10 13:03
我第一个学习的就是汇编,用了好久。

后来发现C的好处后弃之。

但现在如果不是非必要,不会用汇编的。

ID:401564 发表于 2018-12-10 11:49
一条条解读,越详细越好
这语气,神了你,在这的人不是说是为了服务你而来的,大家都是本着相互学习的态度来帮忙别人,同时也是在提高自己.
你知道一条条的去注释,这要多久吗?你也知道自己搞了一个下午.
你随便找一个STC的单片机的数据手册,点到指令集,然后对着指令后面,一条一条抄下来就可以了
ID:396960 发表于 2018-12-10 09:20
不找书,不学习,直接问人什么意思???除非你是老板了。

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表