📄 c51bbs论坛c51编程本人改写的在c8051f124上运行ucos源码,大家分享一下.mht
字号:
R><BR>;=D7=D3=B3=CC=D0=F2<BR>;-------------------------------------------=
------------------------------<BR> &nb=
sp; RSEG ?PR?OSStartHighRdy?OS_CPU_A<BR>OSStartHighRdy:<BR>&nbs=
p; USING 0  =
; ;=C9=CF=B5=E7=BA=F351=D7=D4=B6=AF=B9=D8=D6=D0=B6=CF=A3=AC=B4=CB=B4=
=A6=B2=BB=B1=D8=D3=C3CLR EA=D6=B8=C1=EE=A3=AC=D2=F2=CE=AA=B5=BD=B4=CB=
=B4=A6=BB=B9=CE=B4=BF=AA=D6=D0<BR>=B6=CF=A3=AC=B1=BE=B3=CC=D0=F2=CD=CB=B3=
=F6=BA=F3=A3=AC=BF=AA=D6=D0=B6=CF=A1=A3<BR> =
LCALL _?OSTaskSwHook<BR><BR>OSCtxSw_in:<BR> &=
nbsp; <BR> ;OST=
CBCur =3D=3D=3D> DPTR =BB=F1=B5=C3=B5=B1=C7=B0TCB=
=D6=B8=D5=EB=A3=AC=CF=EA=BC=FBC51.PDF=B5=DA178=D2=B3<BR>  =
; MOV R0,#LOW (OSTCBCur)&nbs=
p;;=BB=F1=B5=C3OSTCBCur=D6=B8=D5=EB=B5=CD=B5=D8=D6=B7=A3=AC=D6=B8=D5=EB=D5=
=BC3=D7=D6=BD=DA=A1=A3+0=C0=E0=D0=CD+1=B8=DF<BR>8=CE=BB=CA=FD=BE=DD+2=B5=CD=
8=CE=BB=CA=FD=BE=DD<BR> IN=
C R0<BR> MOV&nb=
sp; DPH,@R0 ;=C8=AB=BE=D6=B1=E4=C1=BFOSTCBCur=
=D4=DAIDATA=D6=D0<BR> INC&=
nbsp; R0<BR> MOV =
; DPL,@R0<BR> <BR> &nb=
sp; ;OSTCBCur->OSTCBStkPtr =3D=3D=3D> DP=
TR =BB=F1=B5=C3=D3=C3=BB=A7=B6=D1=D5=BB=D6=B8=D5=EB<BR> &=
nbsp; INC DPTR &=
nbsp; ;=D6=B8=D5=EB=D5=BC3=D7=D6=BD=DA=A1=A3=
+0=C0=E0=D0=CD+1=B8=DF8=CE=BB=CA=FD=BE=DD+2=B5=CD8=CE=BB=CA=FD=BE=DD<BR>&=
nbsp; MOVX A,@DPTR &nb=
sp; ;.OSTCBStkPtr=CA=C7void=D6=B8=D5=EB<BR> &=
nbsp; MOV R0,A<BR> &nb=
sp; INC DPTR<BR>  =
; MOVX A,@DPTR<BR> &nb=
sp; MOV R1,A<BR>  =
; MOV DPH,R0<BR>  =
; MOV DPL,R1<BR>  =
;<BR> ;*UserStkPtr =3D=
=3D=3D> R5 =D3=C3=BB=A7=B6=D1=D5=BB=C6=F0=CA=BC=B5=D8=D6=
=B7=C4=DA=C8=DD(=BC=B4=D3=C3=BB=A7=B6=D1=D5=BB=B3=A4=B6=C8=B7=C5=D4=DA=B4=
=CB=B4=A6) =CF=EA=BC=FB<BR>=CE=C4=B5=B5=CB=B5=C3=F7  =
;=D6=B8=D5=EB=D3=C3=B7=A8=CF=EA=BC=FBC51.PDF=B5=DA178=D2=B3 &n=
bsp; <BR> MOVX A=
,@DPTR ;=D3=C3=BB=A7=B6=D1=D5=BB=D6=D0=CA=C7=
unsigned char=C0=E0=D0=CD=CA=FD=BE=DD<BR> &nb=
sp; MOV R5,A &nb=
sp; ;R5=3D=D3=C3=BB=A7=B6=D1=D5=BB=B3=A4=B6=C8<BR> =
<BR> ;=BB=D6=B8=
=B4=CF=D6=B3=A1=B6=D1=D5=BB=C4=DA=C8=DD<BR> =
MOV R0,#OSStkStart<BR> &nbs=
p; <BR>restore_stack:<BR> <=
BR> INC DPTR<BR=
> INC R0<BR>&nb=
sp; MOVX A,@DPTR<BR> &=
nbsp; MOV @R0,A<BR> &n=
bsp; DJNZ R5,restore_stack<BR>&nb=
sp; <BR> =
;=BB=D6=B8=B4=B6=D1=D5=BB=D6=B8=D5=EBSP<BR> =
MOV SP,R0<BR> <BR>&nb=
sp; ;=BB=D6=B8=B4=B7=C2=D5=E6=B6=
=D1=D5=BB=D6=B8=D5=EB?C_XBP &nbs=
p;<BR> INC DPTR=
<BR> MOVX A,@DPTR<BR>=
MOV ?C_XBP,A&n=
bsp; ;?C_XBP =B7=C2=D5=E6=B6=D1=D5=BB=D6=B8=D5=EB=B8=
=DF8=CE=BB<BR> INC &n=
bsp;DPTR<BR> MOVX A,@=
DPTR<BR> MOV ?C=
_XBP+1,A ;?C_XBP =B7=C2=D5=E6=B6=D1=D5=BB=D6=B8=D5=EB=B5=CD=
8=CE=BB<BR> <BR> &nbs=
p; ;OSRunning=3DTRUE<BR> &n=
bsp; MOV R0,#LOW (OSRunning)<BR> &n=
bsp; MOV @R0,#01<BR> &=
nbsp;<BR> POPALL<BR> =
SETB EA &=
nbsp;;=BF=AA=D6=D0=B6=CF<BR> &nb=
sp;RETI<BR><BR><BR><BR><BR><BR><BR>;-------------------------------------=
------------------------------------<BR> &nb=
sp; RSEG ?PR?OSCtxSw?OS_CPU_A<BR>OSCtxSw: &nbs=
p; <BR> &=
nbsp; nop<BR> &=
nbsp; PUSHALL<BR> <BR>OSIntCtxSw_in:<BR=
> <BR> &n=
bsp;;=BB=F1=B5=C3=B6=D1=D5=BB=B3=A4=B6=C8=BA=CD=C6=F0=D6=B7<BR> &nbs=
p; MOV A,SP<BR> =
CLR C<BR>  =
; SUBB A,#OSStkStart<BR> &nb=
sp; MOV R5,A &nb=
sp; ;=BB=F1=B5=C3=B6=D1=D5=BB=B3=A4=B6=C8 &nb=
sp; <BR> <BR> &n=
bsp; ;OSTCBCur =3D=3D=3D> DPTR &=
nbsp;=BB=F1=B5=C3=B5=B1=C7=B0TCB=D6=B8=D5=EB=A3=AC=CF=EA=BC=FBC51.PDF=B5=DA=
178=D2=B3<BR> MOV &nb=
sp;R0,#LOW (OSTCBCur) ;=BB=F1=B5=C3OSTCBCur=D6=B8=D5=EB=B5=CD=B5=
=D8=D6=B7=A3=AC=D6=B8=D5=EB=D5=BC3=D7=D6=BD=DA=A1=A3+0=C0=E0=D0=CD+1=B8=DF=
<BR>8=CE=BB=CA=FD=BE=DD+2=B5=CD8=CE=BB=CA=FD=BE=DD<BR> &=
nbsp; INC R0<BR>  =
; MOV DPH,@R0 ;=C8=
=AB=BE=D6=B1=E4=C1=BFOSTCBCur=D4=DAIDATA=D6=D0<BR>  =
; INC R0<BR> &nb=
sp; MOV DPL,@R0<BR> <B=
R> ;OSTCBCur->OSTCBStkP=
tr =3D=3D=3D> DPTR =BB=F1=B5=C3=D3=C3=BB=A7=B6=D1=
=D5=BB=D6=B8=D5=EB<BR> INC=
DPTR ;=D6=B8=D5=
=EB=D5=BC3=D7=D6=BD=DA=A1=A3+0=C0=E0=D0=CD+1=B8=DF8=CE=BB=CA=FD=BE=DD+2=B5=
=CD8=CE=BB=CA=FD=BE=DD<BR>  =
;MOVX A,@DPTR ;.OSTCBStkPtr=CA=C7void=D6=
=B8=D5=EB<BR> MOV &nb=
sp;R0,A<BR> INC  =
;DPTR<BR> MOVX A,@DPT=
R<BR> MOV R1,A<=
BR> MOV DPH,R0<=
BR> MOV DPL,R1<=
BR> <BR> =
;=B1=A3=B4=E6=B6=D1=D5=BB=B3=A4=B6=C8<BR>&n=
bsp; MOV A,R5<BR>&nbs=
p; MOVX @DPTR,A<BR> &n=
bsp; <BR> MOV&n=
bsp; R0,#OSStkStart ;=BB=F1=B5=C3=B6=D1=D5=BB=C6=F0=D6=B7=
<BR>save_stack:<BR> <BR> &n=
bsp; INC DPTR<BR> &nbs=
p; INC R0<BR> &n=
bsp; MOV A,@R0<BR> &nb=
sp; MOVX @DPTR,A<BR> &=
nbsp; DJNZ R5,save_stack<BR>  =
; <BR> ;=B1=A3=B4=
=E6=B7=C2=D5=E6=B6=D1=D5=BB=D6=B8=D5=EB?C_XBP<BR> =
INC DPTR<BR> &n=
bsp; MOV A,?C_XBP ;?C_=
XBP =B7=C2=D5=E6=B6=D1=D5=BB=D6=B8=D5=EB=B8=DF8=CE=BB<BR>  =
; MOVX @DPTR,A<BR> &nb=
sp; INC DPTR<BR>  =
; MOV A,?C_XBP+1 ;?C_X=
BP =B7=C2=D5=E6=B6=D1=D5=BB=D6=B8=D5=EB=B5=CD8=CE=BB<BR> =
MOVX @DPTR,A &n=
bsp; <BR> <BR> &=
nbsp; ;=B5=F7=D3=C3=D3=C3=BB=A7=B3=CC=D0=F2<=
BR> LCALL _?OSTaskSwH=
ook<BR> <BR> &n=
bsp; ;OSTCBCur =3D OSTCBHighRdy<BR=
> MOV R0,#OSTCB=
Cur<BR> =
MOV R1,#OSTCBHighRdy<BR> &n=
bsp; &nb=
sp; MOV A,@R1<BR> &nbs=
p; MOV @R0,A<BR>  =
; INC R0<BR> &nb=
sp; INC R=
1<BR> &n=
bsp; MOV A,@R1<BR> &nb=
sp; MOV @R0,A<BR> &nbs=
p; INC R0<BR> &n=
bsp; INC=
R1<BR> &=
nbsp; MOV A,@R1<BR> &n=
bsp; MOV @R0,A<BR> &nb=
sp; &nbs=
p; <BR> ;OSPrio=
Cur =3D OSPrioHighRdy =CA=B9=D3=C3=D5=E2=C1=BD=B8=F6=
=B1=E4=C1=BF=D6=F7=D2=AA=C4=BF=B5=C4=CA=C7=CE=AA=C1=CB=CA=B9=D6=B8=D5=EB=B1=
=C8=BD=CF=B1=E4=CE=AA=D7=D6<BR>=BD=DA=B1=C8=BD=CF=A3=AC=D2=D4=B1=E3=BD=DA=
=CA=A1=CA=B1=BC=E4=A1=A3<BR> &nb=
sp;MOV R0,#OSPrioCur<BR> &n=
bsp; MOV =
R1,#OSPrioHighRdy<BR> &nbs=
p; MOV A,@R1<BR> =
; MOV @R0,A<BR> =
<BR> &nb=
sp; LJMP OSCtxSw_in<BR>;---------------------------=
----------------------------------------------<BR>  =
; RSEG ?PR?OSIntCtxSw?OS_CPU_A<BR>  =
; <BR>OSIntCtxSw:<BR><BR> &=
nbsp; ;=B5=F7=D5=FBSP=D6=B8=D5=EB=C8=A5=B5=F4=
=D4=DA=B5=F7=D3=C3OSIntExit(),OSIntCtxSw()=B9=FD=B3=CC=D6=D0=D1=B9=C8=EB=B6=
=D1=D5=BB=B5=C4=B6=E0=D3=E0=C4=DA=C8=DD<BR> =
;SP=3DSP-4<BR><BR> &=
nbsp; MOV A,SP<BR> &nb=
sp; CLR C<BR> &n=
bsp;SUBB A,#4<BR> MOV=
SP,A<BR><BR> <=
BR> LJMP OSIntCtxSw_i=
n<BR><BR><BR><BR>;-------------------------------------------------------=
------------------<BR> CSE=
G AT 000BH ;OSTickISR<BR> &nb=
sp; LJMP OSTickISR ;=CA=
=B9=D3=C3=B6=A8=CA=B1=C6=F70<BR>  =
; RSEG ?PR?OSTickISR?OS_CPU_A<BR><BR>OSTickISR: &nbs=
p; <BR> &=
nbsp; <BR> USING =
;0 <BR> &=
nbsp; PUSHALL<BR><BR>  =
; PUSH&n=
bsp;SFRPAGE<BR> &nbs=
p; MOV SFRPAGE, #0<BR>=
CLR TR0<BR>&nb=
sp; MOV TH0,#70H =
; ;=B6=A8=D2=E5Tick=3D50=B4=CE/=C3=EB(=BC=B40.02=C3=EB/=B4=
=CE)<BR> MOV TL=
0,#00H ;OS_CPU_C.C =BA=CD OS=
_TICKS_PER_SEC<BR> CLR&nbs=
p; TF0<BR> SETB =
TR0<BR> =
POP SFRPAGE<BR>  =
; <BR> &n=
bsp; LCALL _?OSIntEnter<BR> =
LCALL _?OSTimeTick<BR> &nbs=
p; LCALL _?OSIntExit &=
nbsp; ; =D4=DA=D5=E2=C0=EF=C5=D0=B6=CF=CA=
=C7=B7=F1=B5=F7=D3=C3<BR>OSIntCtxSw,=CF=EA=BC=FBOSIntExit=BA=AF=CA=FD<BR>=
POPALL &=
nbsp; <BR> &nbs=
p; RETI<BR><BR><BR><BR><BR><BR>;------------------------------------=
-------------------------------------<BR> &n=
bsp; END<BR>;-------------------------------------------------=
------------------------<BR></P>
<UL><!--Add Reply--></UL></SPAN></TD></TR></TBODY></TABLE><A=20
href=3D"http://www.c51bbs.com/c51bbs/moredata.asp?syid=3D746944">=B5=E3=BB=
=F7=BB=D8=D6=F7=CC=E2=B2=CE=D3=EB=CC=D6=C2=DB=20
>>></A><BR>_____________________________________________________=
________________________<BR>Copyright©=A3=ACC51BBS=C2=DB=CC=B3=20
2000-2003 <BR><BR><IFRAME name=3Dad=20
src=3D"http://www.c51bbs.com/c51bbs/topic/ad.htm" frameBorder=3D0 =
width=3D"100%"=20
scrolling=3Dno height=3D80 allowTransparency=20
color=3D"#efefef"> </IFRAME></BODY></HTML>
------=_NextPart_001_0007_01C889D6.897E1F90
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.c51bbs.com/c51bbs/topic/ad.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY bgColor=#efefef leftMargin=0 topMargin=0>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-9334546667592326";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text_image";
google_ad_channel ="0334761502";
google_color_border = "E0FFE3";
google_color_bg = "E0FFE3";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--></SCRIPT>
<SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js"
type=text/javascript>
</SCRIPT>
</BODY></HTML>
------=_NextPart_001_0007_01C889D6.897E1F90--
------=_NextPart_000_0000_01C889D6.897482A0--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -