开博FDAY

来源:互联网 发布:防范网络电信诈骗 编辑:程序博客网 时间:2024/05/20 09:25
 

关于死循环While(1)

没有循环while(1),编译后会产生一条RET返回,这是一个没有LCALL的返回,返回到什么地方去了?
假设堆栈下面是:0000,就返回到开头,程序就会重头开始,一般程序的开始部分是开机的时候才执行的(初始化代码),这样一来,程序就会不停地初始化,单片机的工作,永远只是个开头.............


 

还有更严重的,,如果堆栈下面不是0000,是什么呢?可能是什么变量,值是变化的,谁也不知它会返回到什么地方....完蛋了................

原创粉丝点击