📄 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
.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 + -