📄 os_cpu_c.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
.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,96
.member _OSEventPtr,0,16,8,16
.member _OSEventTbl,16,60,8,32,,2
.member _OSEventCnt,48,14,8,16
.member _OSEventType,64,12,8,16
.member _OSEventGrp,80,12,8,16
.eos
.sym _OS_EVENT,0,8,13,96,.fake0
.stag .fake1,64
.member _OSMsg,0,16,8,16
.member _OSEventTbl,16,60,8,32,,2
.member _OSEventGrp,48,12,8,16
.eos
.sym _OS_MBOX_DATA,0,8,13,64,.fake1
.stag .fake2,64
.member _OSCnt,0,14,8,16
.member _OSEventTbl,16,60,8,32,,2
.member _OSEventGrp,48,12,8,16
.eos
.sym _OS_SEM_DATA,0,8,13,64,.fake2
.stag _os_tcb,192
.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 _OSTCBMsg,64,16,8,16
.member _OSTCBDly,80,14,8,16
.member _OSTCBStat,96,12,8,16
.member _OSTCBPrio,112,12,8,16
.member _OSTCBX,128,12,8,16
.member _OSTCBY,144,12,8,16
.member _OSTCBBitX,160,12,8,16
.member _OSTCBBitY,176,12,8,16
.eos
.sym _OS_TCB,0,8,13,192,_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 _OSMboxAccept
.globl _OSMboxCreate
.globl _OSMboxPend
.globl _OSMboxPost
.globl _OSMboxQuery
.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"
.globl _c_int0
.text
.sym _OSTaskStkInit,_OSTaskStkInit,96,2,0
.globl _OSTaskStkInit
.func 55
;>>>> 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
;>>>> UWORD *stk;
.line 6
;>>>> opt = opt; /* 'opt' is not used, prevent warning */
.line 7
;>>>> stk = (UWORD *)ptos; /* Load stack pointer */
LARK AR2,-5+LF1
MAR *0+
LAC *
ADRK 6-LF1
SACL *
.line 8
;>>>> *stk++ = (UWORD)pdata; /* 将数据区地址传递到堆栈中*/
LAR AR3,*
SBRK 5-LF1
LAC * ,AR3
SACL *+,AR2
ADRK 5-LF1
SAR AR3,*
.line 9
;>>>> *stk++ = (UWORD)pdata;
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 10
;>>>> stk++ ; /*留出一个字,任务的汇编代码将把返回地址弹出到这里*/
LAR AR3,* ,AR3
MAR *+,AR2
SAR AR3,* ,AR3
.line 11
;>>>> *stk++ = (UWORD)0x2000; /*ST1*/
SPLK #8192,*+,AR2
SAR AR3,*
.line 12
;>>>> *stk++ = (UWORD)0x2200; /*ST0*/
LAR AR3,* ,AR3
SPLK #8704,*+,AR2
SAR AR3,*
.line 13
;>>>> *stk++ = (UWORD)0x0000; /* 累加器高16位 */
LAR AR3,* ,AR3
LACK 0
SACL *+,AR2
SAR AR3,*
.line 14
;>>>> *stk++ = (UWORD)0x0000; /* 累加器低16位 */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 15
;>>>> *stk++ = (UWORD)0x0000; /*乘法寄存器高16位*/
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 16
;>>>> *stk++ = (UWORD)0x0000; /* 临时寄存器TREG */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 17
;>>>> *stk++ = (UWORD)0x0000; /* 乘法寄存器低16位 */
;>>>> //ptos=stk;
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 19
;>>>> *stk++ = (UWORD)0x0000; /* AR0 = 0xDDDD */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 20
;>>>> *stk++ = (UWORD)0x0000; /* AR2 = 0xBBBB */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 21
;>>>> *stk++ = (UWORD)0x0000; /* AR3 = 0x0000 */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 22
;>>>> *stk++ = (UWORD)0x0000; /* AR4 = 0x1111 */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 23
;>>>> *stk++ = (UWORD)0x0000; /* AR5 = 0x2222 */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 24
;>>>> *stk++ = (UWORD)0x0000; /* AR6 = 0x3333 */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 25
;>>>> *stk++ = (UWORD)0x0000; /* AR7 = 0x4444 */
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 26
;>>>> *stk++ = (UWORD)task; /* 中断返回地址=任务其始地址 */
LAR AR3,*
SBRK 4-LF1
LAC * ,AR3
SACL *+,AR2
ADRK 4-LF1
SAR AR3,*
.line 27
;>>>> *stk++ = (UWORD)c_int0;
LALK _c_int0+0
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 28
;>>>> *stk++=(UWORD)c_int0;
LALK _c_int0+0
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 29
;>>>> *stk++=(UWORD)c_int0;
LALK _c_int0+0
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 30
;>>>> *stk++=(UWORD)c_int0;
LALK _c_int0+0
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 31
;>>>> *stk++=(UWORD)c_int0;
LALK _c_int0+0
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 32
;>>>> *stk++=(UWORD)c_int0;
LALK _c_int0+0
LAR AR3,* ,AR3
SACL *+,AR2
SAR AR3,*
.line 33
;>>>> *(UWORD*)ptos=(UWORD)ptos; /*设置帧指针*/
SBRK 6-LF1
LAR AR3,*
LAC * ,AR3
SACL * ,AR2
.line 34
;>>>> return (stk);
ADRK 6-LF1
ZALS *
EPI0_1:
.line 35
MAR * ,AR1
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 89,000000000H,2
.sym _OSTaskCreateHook,_OSTaskCreateHook,32,2,0
.globl _OSTaskCreateHook
.func 104
;>>>> 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 107,000000000H,1
.sym _OSTaskDelHook,_OSTaskDelHook,32,2,0
.globl _OSTaskDelHook
.func 121
;>>>> 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 124,000000000H,1
.sym _OSTaskSwHook,_OSTaskSwHook,32,2,0
.globl _OSTaskSwHook
.func 141
;>>>> 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 143,000000000H,1
.sym _OSTaskStatHook,_OSTaskStatHook,32,2,0
.globl _OSTaskStatHook
.func 155
;>>>> 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 157,000000000H,1
.sym _OSTimeTickHook,_OSTimeTickHook,32,2,0
.globl _OSTimeTickHook
.func 170
;>>>> 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 172,000000000H,1
.sym _OSTickDOSCtr,_OSTickDOSCtr,12,2,16
.globl _OSTickDOSCtr
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -