在51上实现多任务,任务切换是难点

2020-01-30 13:59发布

我是仿真的,是C语言和汇编结合的,
主要思想就是时间片,我10ms 切换一次
最蛋疼就是切换任务了,我比较笨,我是用一段RAM来保存 程序现场的。把ACC PSW R0-R7  地址都保存在RAM中,一个任务就是13个字节,这样开销,还有就是任务
切换想不到好的办法,求思想,那位能说说如何实现任务切换,。
我加如汇编的原因是编译器编译的时候生成的代码不确定,所以我直接就手动人为控制了。我现在就是如果我纯C来写,我完不成,必须C和ASM结合。
任务切换不是很懂,对这个有点兴趣的讨论下吧。

/RAM  ID addr16 PSW ACC R0-R7  ID  addr16 PSW ACC R0-R7 /
上面就是RAM中的两个任务的示意图。我这个开销太大了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。