arm程序退出死循环

Posted retry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arm程序退出死循环相关的知识,希望对你有一定的参考价值。

ldr lr,=halt_loop
ldr pc,=main
halt_loop:
b halt_loop

配置了链接寄存器指向的是halt_loop,在pc跳到主函数运行结束之后,pc的值会指向链接寄存器lr,然后就跳到halt_loop这个死循环上了,这是程序结束至死循环的意思。

1、如果main是死循环,那么本条语句是不会执行,cpu在一直取指运行。
2、如果main不是死循环,那么main返回后,执行汇编里面的这条循环。
如果不这么做,cpu会继续往下执行,然而后边并没有代码了,就会会把垃圾数据当做指令,触发未定义指令异常,导致系统崩溃可能就重启了

以上是关于arm程序退出死循环的主要内容,如果未能解决你的问题,请参考以下文章

java基础(死循环退出选项)

c语言一个死循环中为啥执行完一个功能函数就退出了?

C语言中死循环怎么解决?

while (cin>>str)退出死循环

C语言中啥叫死循环?怎么避免?

Linux基础之bash脚本进阶篇-循环语句(for,while,until)及其特殊用法