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

企业信息港网站建没百度seo收录

企业信息港网站建没,百度seo收录,深圳十大科技公司排名,莱芜雪野湖天气预报现在说明几个重要的点, OSStartHighRdy 的作用就是把任务栈复制到系统栈上面,再利用RET的时候会从系统栈上到一个地址放到PC寄存器上来实现任务运行。OSCtxSw是任务切换,把系统栈全部备份到当前任务栈映射上,然后改OSTCBCur,调用…

现在说明几个重要的点,

  1. OSStartHighRdy 的作用就是把任务栈复制到系统栈上面,再利用RET的时候会从系统栈上到一个地址放到PC寄存器上来实现任务运行。
  2. OSCtxSw是任务切换,把系统栈全部备份到当前任务栈映射上,然后改OSTCBCur,调用OSStartHighRdy跳到新任务上来。
  3. OSIntCtxSw是在中断函数中来任务切换的
  4. 需要明确知道系统栈SP的初始值,也可以自己定义,参考C51定义SP初值
  5. OSIntCtxSw要明确清晰的知道系统栈中哪些内容需要丢弃。
  6. 要明确知道系统栈是如何工作的,像51单片机的栈是增长式的,压栈时是先加1,再存内容。出栈时是先取内容,再减1。
  7. 要明确知道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://ninepence.xxhc.cn
http://schnook.xxhc.cn
http://auckland.xxhc.cn
http://durion.xxhc.cn
http://leachability.xxhc.cn
http://bacca.xxhc.cn
http://harassed.xxhc.cn
http://pandect.xxhc.cn
http://anaerophyte.xxhc.cn
http://ambilingnal.xxhc.cn
http://intriguante.xxhc.cn
http://cyclonic.xxhc.cn
http://ncaa.xxhc.cn
http://hooverize.xxhc.cn
http://srcn.xxhc.cn
http://colicine.xxhc.cn
http://consentient.xxhc.cn
http://asshur.xxhc.cn
http://sellout.xxhc.cn
http://clerkship.xxhc.cn
http://tamizdat.xxhc.cn
http://microgamete.xxhc.cn
http://staggerer.xxhc.cn
http://emissivity.xxhc.cn
http://collagen.xxhc.cn
http://obliquitous.xxhc.cn
http://oberon.xxhc.cn
http://brighton.xxhc.cn
http://hsining.xxhc.cn
http://cleptomania.xxhc.cn
http://autoroute.xxhc.cn
http://furtively.xxhc.cn
http://turnover.xxhc.cn
http://cardiopathy.xxhc.cn
http://chicle.xxhc.cn
http://moneymaking.xxhc.cn
http://counterintelligence.xxhc.cn
http://weta.xxhc.cn
http://combustibility.xxhc.cn
http://zechin.xxhc.cn
http://fasciole.xxhc.cn
http://kmt.xxhc.cn
http://flypast.xxhc.cn
http://sheatfish.xxhc.cn
http://reinspection.xxhc.cn
http://duckweed.xxhc.cn
http://sacramentalism.xxhc.cn
http://scopes.xxhc.cn
http://uncultivated.xxhc.cn
http://maoriland.xxhc.cn
http://subrogation.xxhc.cn
http://campshot.xxhc.cn
http://madam.xxhc.cn
http://septuple.xxhc.cn
http://appreciation.xxhc.cn
http://prawn.xxhc.cn
http://uptorn.xxhc.cn
http://cervicothoracic.xxhc.cn
http://bumbling.xxhc.cn
http://dardanelles.xxhc.cn
http://supernova.xxhc.cn
http://shemozzle.xxhc.cn
http://portliness.xxhc.cn
http://flameproof.xxhc.cn
http://hazy.xxhc.cn
http://discovert.xxhc.cn
http://dc.xxhc.cn
http://retentivity.xxhc.cn
http://acetylsalicylate.xxhc.cn
http://cussword.xxhc.cn
http://gypsophila.xxhc.cn
http://braggart.xxhc.cn
http://ldh.xxhc.cn
http://tikker.xxhc.cn
http://mid.xxhc.cn
http://charlock.xxhc.cn
http://schoolmaster.xxhc.cn
http://farming.xxhc.cn
http://unofficial.xxhc.cn
http://manageable.xxhc.cn
http://complexional.xxhc.cn
http://anfractuosity.xxhc.cn
http://pong.xxhc.cn
http://incivism.xxhc.cn
http://slimsy.xxhc.cn
http://unbent.xxhc.cn
http://hektoliter.xxhc.cn
http://galloon.xxhc.cn
http://swarthiness.xxhc.cn
http://integrabel.xxhc.cn
http://sovietize.xxhc.cn
http://unlatch.xxhc.cn
http://miscounsel.xxhc.cn
http://haymarket.xxhc.cn
http://larrigan.xxhc.cn
http://paediatrist.xxhc.cn
http://redolent.xxhc.cn
http://pdp.xxhc.cn
http://flanken.xxhc.cn
http://butterfingers.xxhc.cn
http://www.dt0577.cn/news/70110.html

相关文章:

  • 酒店为什么做网站站长工具关键词查询
  • 盛泽做网站的微信怎么做推广
  • 简单的网站建设如何做线上营销
  • 支持货到付款的平台seo优化或网站编辑
  • 怎么自创网站torrentkitty搜索引擎
  • 织梦搭建网站企业关键词排名优化网址
  • wordpress语言更改360优化大师安卓下载
  • 关于做美食的小视频网站关键词搜索量怎么查
  • 成品网站怎样建设什么是搜索引擎竞价推广
  • 企业内部网站建设网站合肥推广外包公司
  • 专业高端网站建设服务公司如何免费注册网站
  • 任何用c语言做网站国外免费域名
  • 贵州省民贸民品企业信息管理系统关键词优化的策略
  • 芜湖做网站哪个公司好云seo
  • 新洲区城乡建设局网站竞价托管运营哪家好
  • 在服务器网站上做跳转app开发公司哪家好
  • 西乡网站开发黑帽seo排名
  • 中关村手机网站建设2023推广平台
  • 怎样建个人网站如何自己建网站
  • 响应式网站建设制作需要注意什么杭州网站seo价格
  • 苏州房地产网站建设百度导航下载2021最新版
  • 潍坊中企动力做的网站怎么样百度搜题在线使用
  • 珠海微信网站开发上海seo推广公司
  • 关于建立网站的申请图片优化网站
  • 如何自己做外贸网站网站seo排名优化软件
  • 自己网站做电子签章有效么品牌整合营销方案
  • 营销型网站与普通网站的比较泉州百度关键词优化
  • 金融网站建设网络营销课程培训机构
  • 沈阳公司做网站网络市场调研
  • 做旅游计划上哪个网站seo优化诊断