www.pudn.com > ucos port forf240.rar > Os_cpu_c.asm, change:2003-10-14,size:12237b


******************************************************* 
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00        
******************************************************* 
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx Os_cpu_c.c C:\WINDOWS\TEMP\Os_cpu_c.if  
;	dspopt NOT RUN 
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\Os_cpu_c.if C:\WINDOWS\TEMP\Os_cpu_c.asm C:\WINDOWS\TEMP\Os_cpu_c.tmp  
	.port 
	.file	"Os_cpu_c.c" 
	.file	"os_cpu.h" 
	.sym	_BOOLEAN,0,14,13,16 
	.sym	_INT8U,0,14,13,16 
	.sym	_INT8S,0,4,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 
	.sym	_OS_CPU_SR,0,14,13,16 
	.file	"os_cfg.h" 
	.sym	_OS_FLAGS,0,14,13,16 
	.file	"ucos_ii.h" 
 
	.stag	.fake0,96 
	.member	_OSEventType,0,14,8,16 
	.member	_OSEventGrp,16,14,8,16 
	.member	_OSEventCnt,32,14,8,16 
	.member	_OSEventPtr,48,16,8,16 
	.member	_OSEventTbl,64,62,8,32,,2 
	.eos 
	.sym	_OS_EVENT,0,8,13,96,.fake0 
 
	.stag	.fake1,64 
	.member	_OSCnt,0,14,8,16 
	.member	_OSEventTbl,16,62,8,32,,2 
	.member	_OSEventGrp,48,14,8,16 
	.eos 
	.sym	_OS_SEM_DATA,0,8,13,64,.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,14,8,16 
	.member	_OSTCBPrio,96,14,8,16 
	.member	_OSTCBX,112,14,8,16 
	.member	_OSTCBY,128,14,8,16 
	.member	_OSTCBBitX,144,14,8,16 
	.member	_OSTCBBitY,160,14,8,16 
	.eos 
	.sym	_OS_TCB,0,8,13,176,_os_tcb 
	.globl	_OSCtxSwCtr 
	.globl	_OSEventFreeList 
	.globl	_OSEventTbl 
	.globl	_OSIntNesting 
	.globl	_OSIntExitY 
	.globl	_OSLockNesting 
	.globl	_OSPrioCur 
	.globl	_OSPrioHighRdy 
	.globl	_OSRdyGrp 
	.globl	_OSRdyTbl 
	.globl	_OSRunning 
	.globl	_OSTaskCtr 
	.globl	_OSIdleCtr 
	.globl	_OSTaskIdleStk 
	.globl	_OSTCBCur 
	.globl	_OSTCBFreeList 
	.globl	_OSTCBHighRdy 
	.globl	_OSTCBList 
	.globl	_OSTCBPrioTbl 
	.globl	_OSTCBTbl 
	.globl	_OSTime 
	.globl	_OSMapTbl 
	.globl	_OSUnMapTbl 
	.globl	_OSSemCreate 
	.globl	_OSSemPend 
	.globl	_OSSemPost 
	.globl	_OSTaskCreate 
	.globl	_OSTimeDly 
	.globl	_OSTimeDlyHMSM 
	.globl	_OSTimeGet 
	.globl	_OSTimeSet 
	.globl	_OSTimeTick 
	.globl	_OSInit 
	.globl	_OSIntEnter 
	.globl	_OSIntExit 
	.globl	_OSStart 
	.globl	_OSStatInit 
	.globl	_OSVersion 
	.globl	_OS_EventTaskRdy 
	.globl	_OS_EventTaskWait 
	.globl	_OS_EventTO 
	.globl	_OS_EventWaitListInit 
	.globl	_OS_Sched 
	.globl	_OS_TaskIdle 
	.globl	_OS_TCBInit 
	.globl	_OSInitHookBegin 
	.globl	_OSInitHookEnd 
	.globl	_OSIntCtxSw 
	.globl	_OSStartHighRdy 
	.globl	_OSTaskCreateHook 
	.globl	_OSTaskDelHook 
	.globl	_OSTaskIdleHook 
	.globl	_OSTaskStatHook 
	.globl	_OSTaskStkInit 
	.globl	_OSTaskSwHook 
	.globl	_OSTCBInitHook 
	.globl	_OSTimeTickHook 
	.globl	_OSCtxSw 
	.globl	_OSTickISR 
	.file	"register.h" 
	.globl	_portFFFF 
	.file	"C:\tic2xx\c2000\cgtools\include\stdio.h" 
	.sym	_size_t,0,14,13,16 
 
	.stag	.fake2,112 
	.member	_fd,0,4,8,16 
	.member	_buf,16,28,8,16 
	.member	_pos,32,28,8,16 
	.member	_bufend,48,28,8,16 
	.member	_buff_stop,64,28,8,16 
	.member	_flags,80,14,8,16 
	.member	_index,96,4,8,16 
	.eos 
	.sym	_FILE,0,8,13,112,.fake2 
	.sym	_fpos_t,0,5,13,32 
 
	.stag	.fake3,272 
	.member	_name,0,50,8,144,,9 
	.member	_flags,144,13,8,16 
	.member	_OPEN,160,148,8,16 
	.member	_CLOSE,176,148,8,16 
	.member	_READ,192,148,8,16 
	.member	_WRITE,208,148,8,16 
	.member	_LSEEK,224,149,8,16 
	.member	_UNLINK,240,148,8,16 
	.member	_RENAME,256,148,8,16 
	.eos 
	.sym	__DEVICE,0,8,13,272,.fake3 
	.globl	__ftable 
	.globl	__tmpnams 
	.globl	_remove 
	.globl	_rename 
	.globl	_tmpfile 
	.globl	_tmpnam 
	.globl	_fclose 
	.globl	_fopen 
	.globl	_freopen 
	.globl	_setbuf 
	.globl	_setvbuf 
	.globl	_fflush 
	.globl	_fprintf 
	.globl	_fscanf 
	.globl	_printf 
	.globl	_scanf 
	.globl	_sprintf 
	.globl	_sscanf 
	.globl	_vfprintf 
	.globl	_vprintf 
	.globl	_vsprintf 
	.globl	_fgetc 
	.globl	_fgets 
	.globl	_fputc 
	.globl	_fputs 
	.globl	_getc 
	.globl	_getchar 
	.globl	_gets 
	.globl	_putc 
	.globl	_putchar 
	.globl	_puts 
	.globl	_ungetc 
	.globl	_fread 
	.globl	_fwrite 
	.globl	_fgetpos 
	.globl	_fseek 
	.globl	_fsetpos 
	.globl	_ftell 
	.globl	_rewind 
	.globl	_clearerr 
	.globl	_feof 
	.globl	_ferror 
	.globl	_perror 
	.globl	_getenv 
	.globl	_add_device 
	.file	"Os_cpu_c.c" 
	.text 
 
	.sym	_OSTaskStkInit,_OSTaskStkInit,110,2,0 
	.globl	_OSTaskStkInit 
 
	.func	4 
;>>>> 	OS_STK *OSTaskStkInit (void (*task)(void *pd), void *pdata, OS_STK *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,30,9,16 
	.sym	_opt,-6+LF1,14,9,16 
	.sym	_stk,1,30,1,16 
	.line	2 
;>>>> 	        INT16U  *stk; 
	.line	6 
;>>>> 	        opt=opt; 
	.line	8 
;>>>> 	        stk=(INT16U*)ptos; 
	LARK	AR2,-5+LF1 
	MAR	*0+ 
	LAC	*  
	ADRK	6-LF1 
	SACL	*  
	.line	10 
;>>>> 	        *stk++ = (INT16U) pdata;   	/* arg 0 								*/ 
	LAR	AR3,*  
	SBRK	5-LF1 
	LAC	* ,AR3 
	SACL	*+,AR2 
	ADRK	5-LF1 
	SAR	AR3,*  
	.line	11 
;>>>> 	        stk++;				/* next word for use.  Task assembly code will pop return address to here.		*/ 
	LAR	AR3,* ,AR3 
	MAR	*+,AR2 
	SAR	AR3,* ,AR3 
	.line	12 
;>>>> 	        *stk++ = (INT16U) 0x21EC;	/* ST1 =21ECh; ARB = AR1.*/ 
	SPLK	#8684,*+,AR2 
	SAR	AR3,*  
	.line	13 
;>>>> 	        *stk++ = (INT16U) 0x2600;	/* ST0 =2600h; AR1 is current Aux. Reg, Interrupts are disabled, DP is zero. */ 
	LAR	AR3,* ,AR3 
	SPLK	#9728,*+,AR2 
	SAR	AR3,*  
	.line	14 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* Accumulator high is 0 */ 
	LAR	AR3,* ,AR3 
	LACK	0 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	15 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* Accumulator low is 0. */ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	16 
;>>>> 		    *stk++ = (INT16U) 0x0000;	/* Product High is 0.    */ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	17 
;>>>> 		    *stk++ = (INT16U) 0x0000;	/* T is 0.		 */ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	18 
;>>>> 		    *stk++ = (INT16U) 0x0000;	/* Product Low is 0.   	 */ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	19 
;>>>> 		    ptos=stk; 
	LAC	*  
	SBRK	6-LF1 
	SACL	*  
	.line	20 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* AR0 = 0.     */ 
	ADRK	6-LF1 
	LAR	AR3,* ,AR3 
	LACK	0 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	21 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* AR2 = 0 	*/ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	22 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* AR3 = 0 	*/ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	23 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* AR4 = 0 	*/ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	24 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* AR5 = 0 	*/ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	25 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* AR6 = 0 	*/ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	26 
;>>>> 	        *stk++ = (INT16U) 0x0000;	/* AR7 = 0 	*/ 
	LAR	AR3,* ,AR3 
	SACL	*+,AR2 
	SAR	AR3,*  
	.line	27 
;>>>> 	        *stk++ = (INT16U) task;  	/* Interrupt return address = start of task */ 
	LAR	AR3,*  
	SBRK	4-LF1 
	LAC	* ,AR3 
	SACL	*+,AR2 
	ADRK	4-LF1 
	SAR	AR3,*  
	.line	34 
;>>>> 	        stk+=6; 
	LAC	*  
	ADDK	6 
	SACL	*  
	.line	35 
;>>>> 	        * (INT16U *)ptos=(INT16U)stk;	/* now set frame pointer.			*/ 
	SBRK	6-LF1 
	LAR	AR3,*  
	ADRK	6-LF1 
	LAC	* ,AR3 
	SACL	* ,AR2 
	.line	36 
;>>>> 	        return ((OS_STK *)stk); 
	ZALS	*  
EPI0_1: 
	.line	37 
	MAR	* ,AR1 
	SBRK	3 
	LAR	AR0,*- 
	PSHD	* 
	RET 
 
	.endfunc	40,000000000H,2 
 
	.sym	_OSTaskCreateHook,_OSTaskCreateHook,32,2,0 
	.globl	_OSTaskCreateHook 
 
	.func	45 
;>>>> 	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	48,000000000H,1 
 
	.sym	_OSTaskDelHook,_OSTaskDelHook,32,2,0 
	.globl	_OSTaskDelHook 
 
	.func	51 
;>>>> 	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	54,000000000H,1 
 
	.sym	_OSTaskSwHook,_OSTaskSwHook,32,2,0 
	.globl	_OSTaskSwHook 
 
	.func	57 
;>>>> 	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	59,000000000H,1 
 
	.sym	_OSTaskIdleHook,_OSTaskIdleHook,32,2,0 
	.globl	_OSTaskIdleHook 
 
	.func	61 
;>>>> 	void OSTaskIdleHook(void) 
****************************************************** 
* FUNCTION DEF : _OSTaskIdleHook 
****************************************************** 
_OSTaskIdleHook: 
	POPD	*+ 
	SAR	AR0,*+ 
	SAR	AR1,* 
	LARK	AR0,1 
	LAR	AR0,*0+ 
 
EPI0_5: 
	.line	6 
	SBRK	2 
	LAR	AR0,*- 
	PSHD	* 
	RET 
 
	.endfunc	66,000000000H,1 
 
	.sym	_OSTaskStatHook,_OSTaskStatHook,32,2,0 
	.globl	_OSTaskStatHook 
 
	.func	67 
;>>>> 	void OSTaskStatHook (void) 
****************************************************** 
* FUNCTION DEF : _OSTaskStatHook 
****************************************************** 
_OSTaskStatHook: 
	POPD	*+ 
	SAR	AR0,*+ 
	SAR	AR1,* 
	LARK	AR0,1 
	LAR	AR0,*0+ 
 
EPI0_6: 
	.line	3 
	SBRK	2 
	LAR	AR0,*- 
	PSHD	* 
	RET 
 
	.endfunc	69,000000000H,1 
 
	.sym	_OSTimeTickHook,_OSTimeTickHook,32,2,0 
	.globl	_OSTimeTickHook 
 
	.func	72 
;>>>> 	void OSTimeTickHook (void) 
****************************************************** 
* FUNCTION DEF : _OSTimeTickHook 
****************************************************** 
_OSTimeTickHook: 
	POPD	*+ 
	SAR	AR0,*+ 
	SAR	AR1,* 
	LARK	AR0,1 
	LAR	AR0,*0+ 
 
EPI0_7: 
	.line	3 
	SBRK	2 
	LAR	AR0,*- 
	PSHD	* 
	RET 
 
	.endfunc	74,000000000H,1 
 
	.sym	_OSInitHookBegin,_OSInitHookBegin,32,2,0 
	.globl	_OSInitHookBegin 
 
	.func	75 
;>>>> 	void OSInitHookBegin(void) 
****************************************************** 
* FUNCTION DEF : _OSInitHookBegin 
****************************************************** 
_OSInitHookBegin: 
	POPD	*+ 
	SAR	AR0,*+ 
	SAR	AR1,* 
	LARK	AR0,1 
	LAR	AR0,*0+ 
 
EPI0_8: 
	.line	3 
	SBRK	2 
	LAR	AR0,*- 
	PSHD	* 
	RET 
 
	.endfunc	77,000000000H,1 
 
	.sym	_OSInitHookEnd,_OSInitHookEnd,32,2,0 
	.globl	_OSInitHookEnd 
 
	.func	78 
;>>>> 	void OSInitHookEnd(void) 
****************************************************** 
* FUNCTION DEF : _OSInitHookEnd 
****************************************************** 
_OSInitHookEnd: 
	POPD	*+ 
	SAR	AR0,*+ 
	SAR	AR1,* 
	LARK	AR0,1 
	LAR	AR0,*0+ 
 
EPI0_9: 
	.line	3 
	SBRK	2 
	LAR	AR0,*- 
	PSHD	* 
	RET 
 
	.endfunc	80,000000000H,1 
 
	.sym	_OSTCBInitHook,_OSTCBInitHook,32,2,0 
	.globl	_OSTCBInitHook 
 
	.func	82 
;>>>> 	void OSTCBInitHook(OS_TCB *ptcb) 
****************************************************** 
* FUNCTION DEF : _OSTCBInitHook 
****************************************************** 
_OSTCBInitHook: 
 
LF10	.set	0 
 
	POPD	*+ 
	SAR	AR0,*+ 
	SAR	AR1,* 
	LARK	AR0,1 
	LAR	AR0,*0+ 
 
	.sym	_ptcb,-3+LF10,24,9,16,_os_tcb 
	.line	2 
	.line	3 
;>>>> 	  ptcb=ptcb; 
EPI0_10: 
	.line	4 
	SBRK	2 
	LAR	AR0,*- 
	PSHD	* 
	RET 
 
	.endfunc	85,000000000H,1 
	.end