论坛风格切换切换到宽版
  • 3694阅读
  • 12回复

求教:用C或汇编如何实现软重启? [复制链接]

上一主题 下一主题
离线wycx
 
发帖
1497
只看楼主 倒序阅读 0楼 发表于: 2006-04-23
用户被禁言,该主题自动屏蔽!
离线BG7IGJ
发帖
1998
只看该作者 1楼 发表于: 2006-04-23
搞个指针,指向 0000h 地址,然后将这个交给 pc 相当重启了

汇编里,应该可以用 jmp 0000h 实现想当于重启
离线wycx
发帖
1497
只看该作者 2楼 发表于: 2006-04-23
用户被禁言,该主题自动屏蔽!
离线BG7IGJ
发帖
1998
只看该作者 3楼 发表于: 2006-04-23
回到0000h时,重新开始程序,你的初始化程序以经把他们清了
离线1a2b3c
发帖
204
只看该作者 4楼 发表于: 2006-04-24
汇编这样:
    clr a
push acc
push acc
reti
c调用这个:( * ( void (*)( ) )0 ) ( );
离线wycx
发帖
1497
只看该作者 5楼 发表于: 2006-04-25
用户被禁言,该主题自动屏蔽!
离线bellstudio
发帖
2820
只看该作者 6楼 发表于: 2006-04-25
hehe
其实还有很多特殊寄存器需要初始化
离线bg4rhe
发帖
756
只看该作者 7楼 发表于: 2006-04-25
'
求教:用c或汇编如何实现软重启?
就是相当于reset的功能
'
你的签名蛮有意思的,呵呵

贾迎春-----吴迎春
离线wycx
发帖
1497
只看该作者 8楼 发表于: 2006-04-25
用户被禁言,该主题自动屏蔽!
离线bd7bq
发帖
1491
只看该作者 9楼 发表于: 2006-06-07
呵呵,给个笨的办法,开软看门狗,死循环里不给喂狗。
离线ahzds
发帖
7423
只看该作者 10楼 发表于: 2006-06-08
'
搞个指针,指向 0000h 地址,然后将这个交给 pc 相当重启了
汇编里,应该可以用 jmp 0000h 实现想当于重启
'

'
回到0000h时,重新开始程序,你的初始化程序以经把他们清了
'
如果程序没有问题,这样的解释已经非常到位了!除非你没有在程序一开始时候整理内存(如果是这样,你的程序将会出现意想不到的后果,每次上电都会出现不同的结果!)
离线wycx
发帖
1497
只看该作者 11楼 发表于: 2006-06-08
用户被禁言,该主题自动屏蔽!
离线ljchip
发帖
459
只看该作者 12楼 发表于: 2006-06-09
mov a,#0
push a
push a
reti