保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

uCOS51移植心得[社区]


nbsp; 
        ;恢复现场堆栈内容
        MOV  R0,#OSStkStart
       
restore_stack:
   
        INC  DPTR
        INC  R0
        MOVX A,@DPTR
        MOV  @R0,A
        DJNZ R5,restore_stack
   
        ;恢复堆栈指针SP
        MOV  SP,R0
   
        ;OSRunning=TRUE
        MOV  R0,#LOW (OSRunning)
        MOV  @R0,#01
   
        POPALL
        SETB EA    ;开中断
        RETI
;-------------------------------------------------------------------------
        RSEG ?PR?OSCtxSw?OS_CPU_A
OSCtxSw:   
        PUSHALL
   
OSIntCtxSw_in:
   
        ;获得堆栈长度和起址
        MOV  A,SP
        CLR  C
        SUBB A,#OSStkStart
        MOV  R5,A     ;获得堆栈长度       
   
        ;OSTCBCur ===> DPTR  获得当前TCB指针,详见C51.PDF第178页

        MOV  R0,#LOW (OSTCBCur) ;获得OSTCBCur指针低地址,指针占3字节。+0类型+1高8位数据+2低8位数据
        INC  R0
        MOV  DPH,@R0    ;全局变量OSTCBCur在IDATA中
        INC  R0
        MOV  DPL,@R0
   
        ;OSTCBCur->OSTCBStkPtr ===> DPTR  获得用户堆栈指针
    

《uCOS51移植心得[社区](第10页)》
本文链接地址:http://www.oyaya.net/fanwen/view/172336.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。