|
发表于 2007-4-20 15:27:36
|
显示全部楼层
楼主这段代码能否注释一下,谢谢!
;*************************************************************************
;
; MODEL NAME : OSCtxSW
; DESCRIPTION : ÈÎÎñÇл»£¬·ÅÆúCPU²¢±£´æ»·¾³
;
;*************************************************************************
RSEG ?PR?OSCtxSw?OS_CPU_A
OSCtxSw:
CLR C
MOV A,OSNextTaskID
SUBB A,OSTaskID
JC StkMov0
LJMP StkMov1
StkMov0:
CPL A
INC A
MOV R6,A
MOV A,#LOW (OSTaskStackBotton+1) ;È¡µÃϸöϼ¶ÈÎÎñµÄ¶ÑÕ»µØÖ·
CLR C
ADD A,OSNextTaskID;
MOV R1,A
MOV A,@R1
MOV R4,A ;
MOV A,SP
DEC A
MOV R0,A
DEC R0
CLR C
SUBB A,R4
MOV R2,A
MOV R3,A
MOV A,#LOW (OSTaskStackBotton+1) ;È¡µÃµ±Ç°Ï¼¶ÈÎÎñµÄ¶ÑÕ»µØÖ·
CLR C
ADD A,OSTaskID;
MOV R1,A
MOV A,@R1
DEC A
MOV R1,A ;
SUBB A,R0
MOV R5,A
ONE:
MOV A,@R0
MOV @R1,A
DEC R0
DEC R1
DJNZ R2,ONE
MOV A,SP
MOV R0,A
CLR C
SUBB A,R3
MOV SP,A
;;;;;;;;;;;;;;;;;
MOV R1,A
MOV A,@R0
MOV @R1,A
DEC R0
DeC R1
MOV A,@R0
MOV @R1,A
; MOV R2,#2
;TWO:
; MOV A,@R0
; MOV @R1,A
; DEC R1
; DEC R0
; DJNZ R2,TWO
;;;;;;;;;;;;;;
MOV A,#LOW (OSTaskStackBotton+1) ;È¡µÃÏÂÒ»¸öÈÎÎñµÄϼ¶¶ÑÕ»µØÖ·
CLR C
ADD A,OSNextTaskID
MOV R1,A
MOVStkThree:
MOV A,@R1
CLR C
ADD A,R5
MOV @R1,A
INC R1
DJNZ R6,MOVStkThree
MOV OSTaskID,OSNextTaskID
ret
StkMov1:
MOV R6,A
MOV A,#LOW (OSTaskStackBotton+1) ;È¡µÃµ±Ç°ÈÎÎñµÄϼ¶¶ÑÕ»µØÖ·
CLR C
ADD A,OSTaskID;
MOV R0,A
MOV A,@R0
MOV R3,A ;µ±Ç°ÈÎÎñµÄ¶ÑÕ»
MOV A,#LOW (OSTaskStackBotton+1) ;È¡µÃϸöÈÎÎñµÄ¶ÑÕ»µØÖ·
CLR C
ADD A,OSNextTaskID;
MOV R1,A
MOV A,@R1
MOV R4,A ;
CLR C
SUBB A,R3
MOV R2,A
MOV R5,#2
MOV A,SP
MOV R1,A
CLR C
ADD A,R2
MOV SP,A
MOV R0,A
MOVStkFour: ;ÏòºóÒƶ¯¶ÑÕ»
MOV A,@R1
MOV @R0,A
DEC R0
DEC R1
DJNZ R5,MOVStkFour
MOV A,R4
DEC A
MOV R1,A
MOVStkFive: ;Ç뻶ÑÕ»¿Õ¼ä
MOV A,@R1
MOV @R0,A
DEC R1
DEC R0
DJNZ R2,MOVStkFive
MOV A,R1
CLR C
SUBB A,R0
MOV R5,A ;±£´æ¸üÐÂÖµ¼´¼õÊý
MOV A,#LOW (OSTaskStackBotton+1) ;È¡µÃϸöÈÎÎñµÄ¶ÑÕ»µØÖ·
CLR C
ADD A,OSTaskID;
MOV R0,A
MOVStkSix:
MOV A,@R0
CLR C
SUBB A,R5
MOV @R0,A
INC R0
DJNZ R6,MOVStkSix
MOV OSTaskID,OSNextTaskID
ret
END |
|