请教一个关于中断返回后的问题

2020-01-22 12:15发布

本帖最后由 snailmoving 于 2014-9-1 17:02 编辑

正常情况下,进入中断,中断执行完成以后,会回到中断前的地方继续执行,现在我想从程序开头重新执行。不要用复位,不要用GOTO。能有什么别的方法吗?
网上看到一段程序((void (code *) (void)) 0x0000) ();        这个程序是可以返回到开头的,但是这个程序执行了以后,下次就不会再进入中断了。
求大神指点迷津!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
tohell
1楼-- · 2020-01-22 12:57
为什么不用复位,看门狗复位很好用啊
番茄酱
2楼-- · 2020-01-22 14:46
中断里,加个执行条件判断第几次执行到这一步,可否?
yklstudent
3楼-- · 2020-01-22 15:26
 精彩回答 2  元偷偷看……
rain73
4楼-- · 2020-01-22 15:40
很明显,你用这样的指令表示程序一直处于中断中,其它中断等待你释放中断,怎么执行?
这样的奇葩程序还是少用。
lcofjp
5楼-- · 2020-01-22 20:11
从0执行不是真正的复位,复位是硬件的,所有寄存器都会设置成初始值,保证CPU处于已知的状态。
kebaojun305
6楼-- · 2020-01-23 01:58
你写的那个 就是程序跳转到 复位地址  和goto功能 原理一样   关键在于寄存器没有复位。  如果想寄存器也复位,那只能用看门口  或者你自己初始化 所有的寄存器。

一周热门 更多>