⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu_c.asm

📁 ucosz在2407上的移植代码
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx OS_CPU_C.C C:\DOCUME~1\404\LOCALS~1\Temp\OS_CPU_C.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\404\LOCALS~1\Temp\OS_CPU_C.if C:\DOCUME~1\404\LOCALS~1\Temp\OS_CPU_C.asm C:\DOCUME~1\404\LOCALS~1\Temp\OS_CPU_C.tmp 
	.port
	.bss	_OSTickDOSCtr,1,1
	.file	"OS_CPU_C.C"
	.file	"os_cpu.h"
	.sym	_BOOLEAN,0,12,13,16
	.sym	_INT8U,0,12,13,16
	.sym	_INT8S,0,2,13,16
	.sym	_INT16U,0,14,13,16
	.sym	_INT16S,0,4,13,16
	.sym	_INT32U,0,15,13,32
	.sym	_INT32S,0,5,13,32
	.sym	_FP32,0,6,13,32
	.sym	_FP64,0,7,13,32
	.sym	_OS_STK,0,14,13,16
	.globl	_OSTickDOSCtr
	.file	"ucos_ii.h"

	.stag	.fake0,80
	.member	_OSEventPtr,0,16,8,16
	.member	_OSEventTbl,16,60,8,16,,1
	.member	_OSEventCnt,32,14,8,16
	.member	_OSEventType,48,12,8,16
	.member	_OSEventGrp,64,12,8,16
	.eos
	.sym	_OS_EVENT,0,8,13,80,.fake0

	.stag	.fake1,48
	.member	_OSCnt,0,14,8,16
	.member	_OSEventTbl,16,60,8,16,,1
	.member	_OSEventGrp,32,12,8,16
	.eos
	.sym	_OS_SEM_DATA,0,8,13,48,.fake1

	.stag	_os_tcb,176
	.member	_OSTCBStkPtr,0,30,8,16
	.member	_OSTCBNext,16,24,8,16,_os_tcb
	.member	_OSTCBPrev,32,24,8,16,_os_tcb
	.member	_OSTCBEventPtr,48,24,8,16,.fake0
	.member	_OSTCBDly,64,14,8,16
	.member	_OSTCBStat,80,12,8,16
	.member	_OSTCBPrio,96,12,8,16
	.member	_OSTCBX,112,12,8,16
	.member	_OSTCBY,128,12,8,16
	.member	_OSTCBBitX,144,12,8,16
	.member	_OSTCBBitY,160,12,8,16
	.eos
	.sym	_OS_TCB,0,8,13,176,_os_tcb
	.globl	_OSCtxSwCtr
	.globl	_OSEventFreeList
	.globl	_OSEventTbl
	.globl	_OSIdleCtr
	.globl	_OSCPUUsage
	.globl	_OSIdleCtrMax
	.globl	_OSIdleCtrRun
	.globl	_OSStatRdy
	.globl	_OSIntNesting
	.globl	_OSLockNesting
	.globl	_OSPrioCur
	.globl	_OSPrioHighRdy
	.globl	_OSRdyGrp
	.globl	_OSRdyTbl
	.globl	_OSRunning
	.globl	_OSTaskCtr
	.globl	_OSTCBCur
	.globl	_OSTCBFreeList
	.globl	_OSTCBHighRdy
	.globl	_OSTCBList
	.globl	_OSTCBPrioTbl
	.globl	_OSTime
	.globl	_OSMapTbl
	.globl	_OSUnMapTbl
	.globl	_OSSemAccept
	.globl	_OSSemCreate
	.globl	_OSSemPend
	.globl	_OSSemPost
	.globl	_OSSemQuery
	.globl	_OSTaskCreate
	.globl	_OSTaskQuery
	.globl	_OSTimeDly
	.globl	_OSTimeDlyHMSM
	.globl	_OSTimeDlyResume
	.globl	_OSTimeGet
	.globl	_OSTimeSet
	.globl	_OSTimeTick
	.globl	_OSInit
	.globl	_OSIntEnter
	.globl	_OSIntExit
	.globl	_OSSchedLock
	.globl	_OSSchedUnlock
	.globl	_OSStart
	.globl	_OSStatInit
	.globl	_OSVersion
	.globl	_OSEventTaskRdy
	.globl	_OSEventTaskWait
	.globl	_OSEventTO
	.globl	_OSEventWaitListInit
	.globl	_OSSched
	.globl	_OSTaskIdle
	.globl	_OSTaskStat
	.globl	_OSTCBInit
	.globl	_OSCtxSw
	.globl	_OSIntCtxSw
	.globl	_OSStartHighRdy
	.globl	_OSTaskCreateHook
	.globl	_OSTaskDelHook
	.globl	_OSTaskStatHook
	.globl	_OSTaskStkInit
	.globl	_OSTaskSwHook
	.globl	_OSTickISR
	.globl	_OSTimeTickHook
	.file	"OS_CPU_C.C"
	.text

	.sym	_OSTaskStkInit,_OSTaskStkInit,96,2,0
	.globl	_OSTaskStkInit

	.func	53
;>>>> 	void *OSTaskStkInit (void (*task)(void *pd), void *pdata, void *ptos, INT16U opt)
******************************************************
* FUNCTION DEF : _OSTaskStkInit
******************************************************
_OSTaskStkInit:

LF1	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+,AR2

	.sym	_task,-3+LF1,144,9,16
	.sym	_pdata,-4+LF1,16,9,16
	.sym	_ptos,-5+LF1,16,9,16
	.sym	_opt,-6+LF1,14,9,16
	.sym	_stk,1,30,1,16
	.line	2
;>>>> 	    INT16U *stk;
	.line	5
;>>>> 	    opt    = opt;           /* 'opt' is not used, prevent warning */
	.line	6
;>>>> 	    stk    = (INT16U *)ptos;/* Load stack pointer*/
	LARK	AR2,-5+LF1
	MAR	*0+
	LAC	* 
	ADRK	6-LF1
	SACL	* 
	.line	7
;>>>> 		*stk++ =(INT16U)pdata;/*模仿调用程序时压参数入栈*/
	LAR	AR3,* 
	SBRK	5-LF1
	LAC	* ,AR3
	SACL	*+,AR2
	ADRK	5-LF1
	SAR	AR3,* 
	.line	8
;>>>> 		*stk++ =(INT16U)pdata;/* *stk++ =(INT16U)task;*/
	LAR	AR3,* ,AR3
	SACL	*+,AR2
	SAR	AR3,* 
	.line	19
;>>>> 			stk++;			/*0 unuse*/		/*unuse		for i$$rest 02*/
	LAR	AR3,* ,AR3
	MAR	*+,AR2
	SAR	AR3,* ,AR3
	.line	20
;>>>> 			*stk++=0x21ec;	/*1 st1  */		/*st1		for i$$rest 03*/
	SPLK	#8684,*+,AR2
	SAR	AR3,* 
	.line	21
;>>>> 			*stk++=0x2600;	/*2 st0  */		/*st0		for i$$rest 04*/
	LAR	AR3,* ,AR3
	SPLK	#9728,*+,AR2
	SAR	AR3,* 
	.line	22
;>>>> 			*stk++=0;		/*3 ach  */		/*ach		for i$$rest 05*/
	LAR	AR3,* ,AR3
	LACK	0
	SACL	*+,AR2
	SAR	AR3,* 
	.line	23
;>>>> 			*stk++=0xf;		/*4 acl  */		/*acl		for i$$rest 06*/
	LAR	AR3,* ,AR3
	LACK	15
	SACL	*+,AR2
	SAR	AR3,* 
	.line	24
;>>>> 			*stk++=0;		/*5 sph  */		/*sph		for i$$rest 07*/
	LAR	AR3,* ,AR3
	LACK	0
	SACL	*+,AR2
	SAR	AR3,* 
	.line	25
;>>>> 			*stk++=0;		/*6 spl  */		/*spl		for i$$rest 08*/
	LAR	AR3,* ,AR3
	SACL	*+,AR2
	SAR	AR3,* 
	.line	26
;>>>> 			*stk++=0;		/*7 t    */		/*t			for i$$rest 09*/
	LAR	AR3,* ,AR3
	SACL	*+,AR2
	SAR	AR3,* 
	.line	27
;>>>> 			*stk++=0;		/*8 ar0  */		/*ar0		for i$$rest 10*/
	LAR	AR3,* ,AR3
	SACL	*+,AR2
	SAR	AR3,* 
	.line	28
;>>>> 			*stk++=2;		/*9 ar2  */		/*ar2		for i$$rest 11*/
	LAR	AR3,* ,AR3
	LACK	2
	SACL	*+,AR2
	SAR	AR3,* 
	.line	29
;>>>> 			*stk++=3;		/*10ar3  */		/*ar3		for i$$rest 12*/
	LAR	AR3,* ,AR3
	LACK	3
	SACL	*+,AR2
	SAR	AR3,* 
	.line	30
;>>>> 			*stk++=4;		/*11ar4  */		/*ar4		for i$$rest 13*/
	LAR	AR3,* ,AR3
	LACK	4
	SACL	*+,AR2
	SAR	AR3,* 
	.line	31
;>>>> 			*stk++=5;		/*12ar5  */		/*ar5		for i$$rest 14*/
	LAR	AR3,* ,AR3
	LACK	5
	SACL	*+,AR2
	SAR	AR3,* 
	.line	32
;>>>> 			*stk++=6;		/*13ar6  */		/*ar6		for i$$rest 15*/
	LAR	AR3,* ,AR3
	LACK	6
	SACL	*+,AR2
	SAR	AR3,* 
	.line	33
;>>>> 			*stk++=7;		/*14ar7  */		/*ar7		for i$$rest 16*/
	LAR	AR3,* ,AR3
	LACK	7
	SACL	*+,AR2
	SAR	AR3,* 
	.line	34
;>>>> 		*stk++ =(INT16U)task;
	LAR	AR3,* 
	SBRK	4-LF1
	LAC	* ,AR3
	SACL	*+,AR2
	ADRK	4-LF1
	SAR	AR3,* 
	.line	36
;>>>> 		*stk++ =(INT16U)task;
	LAR	AR3,* ,AR3
	SACL	*+,AR2
	SAR	AR3,* 
	.line	38
;>>>> 		stk+=5;
	LAC	* 
	ADDK	5
	SACL	* 
	.line	42
;>>>> 	    return ((void *)stk);
	ZALS	* 
EPI0_1:
	.line	43
	MAR	* ,AR1
	SBRK	3
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	95,000000000H,2

	.sym	_OSTaskCreateHook,_OSTaskCreateHook,32,2,0
	.globl	_OSTaskCreateHook

	.func	110
;>>>> 	void OSTaskCreateHook (OS_TCB *ptcb)
******************************************************
* FUNCTION DEF : _OSTaskCreateHook
******************************************************
_OSTaskCreateHook:

LF2	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.sym	_ptcb,-3+LF2,24,9,16,_os_tcb
	.line	2
	.line	3
;>>>> 	    ptcb = ptcb;                       /* Prevent compiler warning                                     */
EPI0_2:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	113,000000000H,1

	.sym	_OSTaskDelHook,_OSTaskDelHook,32,2,0
	.globl	_OSTaskDelHook

	.func	127
;>>>> 	void OSTaskDelHook (OS_TCB *ptcb)
******************************************************
* FUNCTION DEF : _OSTaskDelHook
******************************************************
_OSTaskDelHook:

LF3	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.sym	_ptcb,-3+LF3,24,9,16,_os_tcb
	.line	2
	.line	3
;>>>> 	    ptcb = ptcb;                       /* Prevent compiler warning                                     */
EPI0_3:
	.line	4
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	130,000000000H,1

	.sym	_OSTaskSwHook,_OSTaskSwHook,32,2,0
	.globl	_OSTaskSwHook

	.func	147
;>>>> 	void OSTaskSwHook (void)
******************************************************
* FUNCTION DEF : _OSTaskSwHook
******************************************************
_OSTaskSwHook:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

EPI0_4:
	.line	3
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	149,000000000H,1

	.sym	_OSTaskStatHook,_OSTaskStatHook,32,2,0
	.globl	_OSTaskStatHook

	.func	161
;>>>> 	void OSTaskStatHook (void)
******************************************************
* FUNCTION DEF : _OSTaskStatHook
******************************************************
_OSTaskStatHook:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

EPI0_5:
	.line	3
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	163,000000000H,1

	.sym	_OSTimeTickHook,_OSTimeTickHook,32,2,0
	.globl	_OSTimeTickHook

	.func	176
;>>>> 	void OSTimeTickHook (void)
******************************************************
* FUNCTION DEF : _OSTimeTickHook
******************************************************
_OSTimeTickHook:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

EPI0_6:
	.line	3
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	178,000000000H,1

	.sym	_OSTickDOSCtr,_OSTickDOSCtr,12,2,16
	.globl	_OSTickDOSCtr
	.end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -