中科因仑“3+1”工程特种兵精英论坛

标题: 寄存器 [打印本页]

作者: 张衍波    时间: 2015-9-23 16:06
标题: 寄存器
"sbit sigl = P1^7;
void func1(){
        register char data i;
        i = 5;
        do{
                sigl = !sigl;
                task_switch();
        }while(--i);
}
void func2(){
        register char data i;
        i = 5;
        do{
                sigl = !sigl;
                task_switch();
        }while(--i);
}

我们这里只是示例,所以仍可以通过手工分配不同的寄存器避免寄存器冲突,但在真实的应用中,由于任务间的切换是非常随机的,我们无法预知某个时刻哪个寄存器不会冲突,所以分配不同寄存器的方法不可取.那么,要怎么办呢? "

楼主有严重的误导成分,一个OS上下文切换首先就是需要保存寄存器,这是OS的基本任务之一,所以这里的例子不能代表KEIL的弱智。






欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4