📄 ucos_ii.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\TIC2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx Ucos_ii.c C:\WINDOWS\TEMP\Ucos_ii.if
; dspopt NOT RUN
; C:\TIC2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\Ucos_ii.if C:\WINDOWS\TEMP\Ucos_ii.asm C:\WINDOWS\TEMP\Ucos_ii.tmp
.port
.bss _OSRunning,1,1
.bss _OSIntNesting,1
.bss _OSLockNesting,1
.bss _OSIntExitY,1
.bss _OSRdyGrp,1
.bss _OSPrioHighRdy,1
.bss _OSPrioCur,1
.bss _OSTCBHighRdy,1
.bss _OSTCBCur,1
.bss _OSTCBList,1
.bss _OSEventFreeList,1
.bss _OSTaskCtr,1
.bss _OSTCBFreeList,1
.bss _OSRdyTbl,2
.bss _OSCtxSwCtr,2,1
.bss _OSTime,2,1
.bss _OSIdleCtr,2,1
.bss _OSEventTbl,12
.bss _OSTCBPrioTbl,13
.bss _OSTaskIdleStk,100
.bss _OSTCBTbl,121
.file "Ucos_ii.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_core.c"
.sect ".const"
.sblock ".const"
_OSMapTbl:
.word 1
.word 2
.word 4
.word 8
.word 16
.word 32
.word 64
.word 128
.sym _OSMapTbl,_OSMapTbl,62,2,128,,8
.globl _OSMapTbl
_OSUnMapTbl:
.word 0
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 5
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 6
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 5
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 7
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 5
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 6
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 5
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 4
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.word 3
.word 0
.word 1
.word 0
.word 2
.word 0
.word 1
.word 0
.sym _OSUnMapTbl,_OSUnMapTbl,62,2,4096,,256
.globl _OSUnMapTbl
.text
.sym _OSInit,_OSInit,32,2,0
.globl _OSInit
.func 85
;>>>> void OSInit (void)
;>>>> #if OS_VERSION >= 204
******************************************************
* FUNCTION DEF : _OSInit
******************************************************
_OSInit:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 4
;>>>> OSInitHookBegin(); /* Call port specific initialization code */
;>>>> #endif
CALL _OSInitHookBegin
.line 7
;>>>> OS_InitMisc(); /* Initialize miscellaneous variables */
CALL _OS_InitMisc
.line 9
;>>>> OS_InitRdyList(); /* Initialize the Ready List */
CALL _OS_InitRdyList
.line 10
;>>>> OS_InitTCBList(); /* Initialize the free list of OS_TCBs */
CALL _OS_InitTCBList
.line 11
;>>>> OS_InitEventList(); /* Initialize the free list of OS_EVENTs */
;>>>> #if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
;>>>> OS_FlagInit(); /* Initialize the event flag structures */
;>>>> #endif
;>>>> #if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
;>>>> OS_MemInit(); /* Initialize the memory manager */
;>>>> #endif
;>>>> #if (OS_Q_EN > 0) && (OS_MAX_QS > 0)
;>>>> OS_QInit(); /* Initialize the message queue structures */
;>>>> #endif
CALL _OS_InitEventList
.line 25
;>>>> OS_InitTaskIdle(); /* Create the Idle Task */
;>>>> #if OS_TASK_STAT_EN > 0
;>>>> OS_InitTaskStat(); /* Create the Statistic Task */
;>>>> #endif
;>>>> #if OS_VERSION >= 204
CALL _OS_InitTaskIdle
.line 31
;>>>> OSInitHookEnd(); /* Call port specific init. code */
;>>>> #endif
CALL _OSInitHookEnd
EPI0_1:
.line 33
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 117,000000000H,1
.sym _OSIntEnter,_OSIntEnter,32,2,0
.globl _OSIntEnter
.func 144
;>>>> void OSIntEnter (void)
******************************************************
* FUNCTION DEF : _OSIntEnter
******************************************************
_OSIntEnter:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> if (OSRunning == TRUE) {
LDPK _OSRunning
LAC _OSRunning
SUBK 1
BNZ L1
.line 4
;>>>> if (OSIntNesting < 255) {
ZALS _OSIntNesting
SUBK 255
BGEZ L1
.line 5
;>>>> OSIntNesting++; /* Increment ISR nesting level */
LAC _OSIntNesting
ADDK 1
SACL _OSIntNesting
L1:
EPI0_2:
.line 8
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 151,000000000H,1
.sym _OSIntExit,_OSIntExit,32,2,0
.globl _OSIntExit
.func 172
;>>>> void OSIntExit (void)
;>>>> #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
;>>>> OS_CPU_SR cpu_sr;
;>>>> #endif
******************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -