汇编程序的执行顺序

qq_35093160 2016-05-23 04:46:28
ORG 00H
jmp Reset_Power1

Reset_Power1:
。。。。
call F_ClrWDT:
nop

F_ClrWDT:
nop
ret

ResetUpdateVol_LostAdapt:
nop
call SleepIntoDo

Reset_Power:
mov a,#07h

SleepIntoDo:
nop
mov a,#88h
mov p4,a
endp

这个程序会执行Reset_Power:这个程序段吗?
...全文
1661 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ay-a 2016-06-09
  • 打赏
  • 举报
回复
  ORG	00H
              jmp	Reset_Power1

Reset_Power1:
        。。。。
        call   F_ClrWDT:       
        nop

F_ClrWDT:  
       nop
            ret                     /*  ret 会被执行两次,一次是  call   F_ClrWDT 返回时 ,另一次是顺序执行到这里的时候(第二次ret出的ip                                               是一个没有意义的数,这时候程序执行就全乱了)*/

ResetUpdateVol_LostAdapt:
               nop
               call  SleepIntoDo
                 
Reset_Power:
             mov a,#07h

SleepIntoDo:
          nop
            mov a,#88h
            mov p4,a
    endp
用户 昵称 2016-05-25
  • 打赏
  • 举报
回复
这就几段看不到会调用。
renwotao2009 2016-05-25
  • 打赏
  • 举报
回复
引用 2 楼 renwotao2009 的回复:

            ORG	00H
              jmp	Reset_Power1

Reset_Power1:
        。。。。
        call   F_ClrWDT:  
        nop

F_ClrWDT:  
       nop
            ret   // 关键是这里ret到哪个地址了???

ResetUpdateVol_LostAdapt:
               nop
               call  SleepIntoDo
                 
Reset_Power:           // 哪个地方调用了?ret到这个地址了吗
             mov a,#07h  

SleepIntoDo:
          nop
            mov a,#88h
            mov p4,a
    endp
说错了,哪里调用Reset_Power??
renwotao2009 2016-05-25
  • 打赏
  • 举报
回复

            ORG	00H
              jmp	Reset_Power1

Reset_Power1:
        。。。。
        call   F_ClrWDT:  
        nop

F_ClrWDT:  
       nop
            ret   // 关键是这里ret到哪个地址了???

ResetUpdateVol_LostAdapt:
               nop
               call  SleepIntoDo
                 
Reset_Power:           // 哪个地方调用了?ret到这个地址了吗
             mov a,#07h  

SleepIntoDo:
          nop
            mov a,#88h
            mov p4,a
    endp
1.80C51单片机汇编语言有何特点? 答: 汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知。 但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。 2.利用80C51单片机汇编语言进行程序设计的步骤如何? 答: 一、任务分析 首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统程序设计的基础和条件。 二、算法设计 经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较,并进行合理的优化。 三、流程描述 程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。 流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节。 3.常用的程序结构有哪几种?特点如何? 答: 顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的; 分支程序:可以改变程序的执行顺序; 循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。 4.子程序调用时,参数的传递方法有哪几种? 答: 利用累加器或寄存器; 利用存储器; 利用堆栈。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧