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

📄 os_cpu_c.asm

📁 dsp常用例程UCOS程序源代码 基于TIDSP
💻 ASM
字号:
*******************************************************
* 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

⌨️ 快捷键说明

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