查看: 1586|回复: 0
打印 上一主题 下一主题

寄存器

[复制链接]
跳转到指定楼层
沙发
发表于 2015-9-23 16:06:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
"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的弱智。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表