Board logo

标题: 请问PPAGE的问题 [打印本页]

作者: denghaibo    时间: 2011-3-23 21:43     标题: 请问PPAGE的问题

求教:在UCOS的OSStartHighRdy函数如下:
void  OSStartHighRdy(void)
{
              asm
              {
               
              CALL    OSTaskSwHook           
              ldx OSTCBCur
              lds 0,x
              INC OSRunning
              pula
              staa $30
              nop
              nop
              nop
              rti  
              }
}

设想的程序执行时应该先更改PPAGE到任务所放的页面,然后通过RTI弹出寄存器及PC的值。然而实际上刚更改完PPAGE的值,PC就已经指向任务页面了,根本没有执行RTI指令,因而PC值并没有得到改变,系统得到了一个根本没有程序语句的PC值,(LDS 0XFF),结果程序跑飞了,请问各位有什么好的办法。我在相关的UCOS书里看见这个函数都是这么写的,而我用起来就出现这样的问题,真是郁闷……




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0