ARM小问题
来源:互联网 发布:nginx 目录映射 编辑:程序博客网 时间:2024/05/17 06:16
ldr lr, =halt_loop @设置返回地址
ldr pc, =main @b指令和bl指令只能前后跳转32M的范围,所以这里使用向pc赋值的方法进行跳转
halt_loop:
b halt_loop
确实是将指针指向main函数,对于汇编调用C函数之前一定要配置lr,也就是链接寄存器,因为C函数执行完需要返回的,返回的时候pc指针会指向lr中的地址,此时就是halt_loop.当c函数执行完程序就返回到halt_loop指向的 b halt_loop,进行死循环。不知道你看汇编程序的时候有没有看到在程序的最后都会写类似这样的语句
stop:
b stop
就是让程序停在这,这个时候可以看各个寄存器的值,以便检查自己程序是否正确。如果是C函数比如用到printf("alkdjfkl");之类的。如果不让程序死循环,这种输出会瞬间消失,你也就不知道输没输出了。所以最后的死循环是很有作用的。
- ARM小问题
- ARM实验中的小问题
- ARM开发板使用小问题!
- 【嵌入式Linux】[ARM]:ARM相关小知识
- 嵌入式 Makefile小问题提示“make: `arm' is up to date”涉及到.PHONY
- Makefile小问题提示“make: `arm' is up to date”涉及到.PHONY
- [汇总] ARM-LINUX小札
- ARM中断机制小述
- arm学习小知识点汇总
- ARM指令定址问题
- ARM指令定址问题
- ARM 堆栈溢出问题
- arm中的一些问题
- ARM调试问题总结
- ARM总线问题
- ARM时钟问题
- ARM lcd 显示 问题
- ARM USB驱动问题
- 杭电1312HDU acm ---Red and Black---DFS深度优先算法
- Android中 onInterceptTouchEvent, onTouchEvent 理解
- hdu 1069 Monkey and Banana
- 手把手教你调试STL容器(上)
- Android JNI实例代码(二)
- ARM小问题
- cocos2d-x ubuntu开发
- 在eclipse中编译Launcher2的方法
- nslookup用法
- 下载
- wp-admin文件下
- IIS6.0配置支持perl
- 经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
- SSH 登录思科路由器RSA modulus too small处理