当前位置: 首页 > news >正文

网站字体咸宁网站制作公司

网站字体,咸宁网站制作公司,维护网站建设,广州网站建设哪家好现在说明几个重要的点#xff0c; OSStartHighRdy 的作用就是把任务栈复制到系统栈上面#xff0c;再利用RET的时候会从系统栈上到一个地址放到PC寄存器上来实现任务运行。OSCtxSw是任务切换#xff0c;把系统栈全部备份到当前任务栈映射上#xff0c;然后改OSTCBCur,调用…现在说明几个重要的点 OSStartHighRdy 的作用就是把任务栈复制到系统栈上面再利用RET的时候会从系统栈上到一个地址放到PC寄存器上来实现任务运行。OSCtxSw是任务切换把系统栈全部备份到当前任务栈映射上然后改OSTCBCur,调用OSStartHighRdy跳到新任务上来。OSIntCtxSw是在中断函数中来任务切换的需要明确知道系统栈SP的初始值也可以自己定义参考C51定义SP初值OSIntCtxSw要明确清晰的知道系统栈中哪些内容需要丢弃。要明确知道系统栈是如何工作的像51单片机的栈是增长式的压栈时是先加1再存内容。出栈时是先取内容再减1。要明确知道51单片机call时会先将下个执行的地址的低8位先压栈高8位后压栈。 ; void OSStartHighRdy(void)RSEG ?PR?OSStartHighRdy?OS_CPU_A OSStartHighRdy: clr EAmov DPTR, #OSTCBCur ; DPTR OSTCBCur;; DPTR OSTCBCurmovx A,DPTR mov R0,AINC DPTRmovx A,DPTRmov R1,AINC DPTRmovx A, DPTRmov R2,Amov DPH, R1mov DPL, R2;; OSTCBCur-OSTCBStkPtrmovx A,DPTRmov R0,AINC DPTRmovx A, DPTRmov R1,AINC DPTRmovx A, DPTRmov R2,A;; DPTR OSTCBCur-OSTCBStkPtrmov DPH,R1mov DPL,R2 ;; 在这里任务栈第一个数据是栈长度movx A,DPTRmov R7,A ; R7 DPTR[0] lenINC DPTR taskstk_copyto_sysstk: ; DPTR:taskptr, R7:len movx A,DPTRpush ACCINC DPTRDJNZ R7, taskstk_copyto_sysstk; #if OS_TASK_SW_HOOK_EN 0u ; OSTaskSwHook(); ; #endif;; OSRunning OS_TRUE;MOV DPTR,#OSRunningMOV A,#01HMOVX DPTR,A?C0003:popallSETB EARETI ; END OF OSStartHighRdy ; void OSIntCtxSw(void)RSEG ?PR?OSIntCtxSw?OS_CPU_A OSIntCtxSw:mov A,SPclr Csubb A,#17mov SP,ALJMP OSCtxSw ; END OF OSIntCtxSw这里丢弃了栈后面的17个数据其中栈顶两是调用OSIntCtxSw产生再前面两个是调用OSIntExit产生 再前面13个是进入tmr0_func时pushall保护现场产生。 ; void OSCtxSw(void)RSEG ?PR?OSCtxSw?OS_CPU_A OSCtxSw:pushallmov A, #SysStackStartmov R6,Amov A,SPclr Csubb A,R6mov R7,A ; R7 SP - SysStackStart ; system stack length at nowmov DPTR,#OSTCBCur ; DPTR OSTCBCur;; *(OSTCBCur)movx A, DPTR ; A OSTCBCurmov R0, AINC DPTRmovx A, DPTRmov R1, AINC DPTRmovx A, DPTRmov R2, A;; DPTR OSTCBCurmov DPH,R1mov DPL,R2;; OSTCBCur-OSTCBStkPtrmovx A, DPTRmov R0, AINC DPTRmovx A, DPTRmov R1, AINC DPTRmovx A, DPTRmov R2, A;; DPTR OSTCBCur-OSTCBStkPtrmov DPH,R1mov DPL,R2;; DPTR[0] len R7 mov A,R7movx DPTR,Ainc DPTRmov R0,#SysStackStart ; 这里是自己定义的栈初始位置 save_sysstack_to_taskstack:inc R0 ; 在这里51单片机的系统栈是先1再存内容的mov A,R0movx DPTR,Ainc DPTRDJNZ R7,save_sysstack_to_taskstack;; OSPrioCur OSPrioHighRdymov DPTR,#OSPrioHighRdymovx A,DPTRmov DPTR,#OSPrioCurmovx DPTR,A ;; OSTCBCur OSTCBHighRdy;MOV DPTR,#OSTCBHighRdyMOVX A,DPTRMOV R1,AINC DPTRMOVX A,DPTRMOV R2,AINC DPTRMOVX A,DPTRMOV DPTR,#OSTCBCurXCH A,R1MOVX DPTR,AINC DPTRMOV A,R2MOVX DPTR,AINC DPTRMOV A,R1MOVX DPTR,A;; SP SysStackStartmov A,#SysStackStartmov SP,A ; OSStartHighRdy();LJMP OSStartHighRdy ; END OF OSCtxSw
http://www.hkea.cn/news/14554184/

相关文章:

  • 建设银行网站总是崩溃个人网站备案名字不同
  • 柳州企业网站制作简单代码制作
  • 网站集约化建设力度网站建设哪儿好
  • 网站制作设计说明女装网站建设费用预算
  • 重庆网站建安阳网站建设哪家好
  • 北京建设工程交易中心招标网网页优化最为重要的内容是
  • 外贸网站平台都有哪些 免费的专业零基础网站建设教学服务
  • 做平面设计兼职的网站中国材料价格网
  • 舟山集团网站建设企业展厅设计公司100%正品保障
  • 松江品划企业网站建设如何用wp做企业网站
  • 青岛海诚互联做网站好吗wordpress整合ck播放器
  • 装修公司网站源码织梦单页面网站模板
  • 网站建设中的推广工作网站建设与管理实用教程
  • 常熟网站开发松江区网站开发
  • 哈尔滨城乡建设厅网站wordpress加入pdf
  • 自己怎样建网站做微商自己做装修图网站
  • 高端装饰公司网站设计网站开发基本步骤
  • h5移动端网站模板下载软件外包属于什么行业
  • 大中小网站的区分设计做任务的网站
  • 网站静态图怎么做互联网项目发布平台
  • 南通城乡住房建设厅网站首页免费网站为何收录比较慢
  • 江西网络推广seo系统优化最好的安卓手机
  • 建筑公司网站大全apm安装wordpress网页无法访问
  • 做遗嘱的网站有哪些建设银行签证预约网站
  • p2p网站开发的多少钱专业网站制作团队专业网站制作团队
  • 溧水做网站价格商务网站建设摘要
  • 网站建设及目标网站维护和更新
  • 沧州市东光建设局 网站广告公司 名称
  • 建站公司佛山网站开发专业就业前景分析
  • 秦皇岛网站开发报价湖南省建六公司官网