3563|4

57

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在arm汇编的时候为什么没有返回 [复制链接]

我在调试arm的休眠的时候用了点灯的方法,调用子程序
下面是子程序
        ALIGN
GREEN
        bl GON
        bl DELAY
        bl GOFF
        bl DELAY
        bl GON
        bl DELAY
        bl GOFF
        bl DELAY
        bl GON
        mov pc, lr

但是我调用子程序的时候没有执行 mov pc,lr
这句 也就是程序没有返回到调用的地方,这是什么原因导致的 还有我看到他下面有这句话
  IF Interworking :LOR: Thumbing
    bx  lr
  ELSE
    mov  pc, lr          ; return to caller.
  ENDIF
如果我把 IF语句去掉程序就死了  是什么原因
此帖出自ARM技术论坛

最新回复

呵呵 基础不扎实 其实在后面的那个mov pc,lr  那个lr 已经不知道指到哪里去了  结贴了   详情 回复 发表于 2009-9-30 16:12
点赞 关注
 

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
IF Interworking :LOR: Thumbing 这个是预编译开关,意思说如果定义了ARM-THUMB交叉环境或者定义了THUMB指令环境,编译的时候就用bx lr,否则用mov pc ,lr
此帖出自ARM技术论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
通过AXD查看一下函数调用前的PC是多少,再看下函数返回时的LR是多少
此帖出自ARM技术论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

4
 
进来学习的~~
此帖出自ARM技术论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
呵呵 基础不扎实 其实在后面的那个mov pc,lr  那个lr 已经不知道指到哪里去了  结贴了
此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表