📄 ucos_ii.asm
字号:
*******************************************************
* TMS320C24xx ANSI C Codegen Version 7.02
*******************************************************
; dspac -v2xx -iC:/ti/c2400/cgtools/include ucos_ii.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ucos_ii.if
; dspopt NOT RUN
; dspcg -o -v2xx C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ucos_ii.if ucos_ii.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ucos_ii.tmp
.port
.bss _OSRdyGrp,1,1
.bss _OSTCBCur,1
.bss _OSIntNesting,1
.bss _OSLockNesting,1
.bss _OSTaskCtr,1
.bss _OSRunning,1
.bss _OSPrioCur,1
.bss _OSPrioHighRdy,1
.bss _OSTCBHighRdy,1
.bss _OSTCBList,1
.bss _OSTCBFreeList,1
.bss _OSEventFreeList,1
.bss _OSIntExitY,1
.bss _OSStatRdy,1
.bss _OSCPUUsage,1
.bss _OSTime,2,1
.bss _OSIdleCtr,2,1
.bss _OSCtxSwCtr,2,1
.bss _OSIdleCtrMax,2,1
.bss _OSIdleCtrRun,2,1
.bss _OSRdyTbl,5
.bss _OSEventTbl,18
.bss _OSTCBPrioTbl,34
.bss _OSTaskIdleStk,64
.bss _OSTaskStatStk,64
.bss _OSTCBTbl,143
.file "ucos_ii.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 _FP,0,6,13,32
.globl _c_int0
.file "Ucos_ii.h"
.stag .fake0,144
.member _OSEventPtr,0,16,8,16
.member _OSEventTbl,16,60,8,80,,5
.member _OSEventCnt,96,14,8,16
.member _OSEventType,112,12,8,16
.member _OSEventGrp,128,12,8,16
.eos
.sym _OS_EVENT,0,8,13,144,.fake0
.stag .fake1,112
.member _OSCnt,0,14,8,16
.member _OSEventTbl,16,60,8,80,,5
.member _OSEventGrp,96,12,8,16
.eos
.sym _OS_SEM_DATA,0,8,13,112,.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,12,8,16
.member _OSTCBPrio,96,12,8,16
.member _OSTCBX,112,12,8,16
.member _OSTCBY,128,12,8,16
.member _OSTCBBitX,144,12,8,16
.member _OSTCBBitY,160,12,8,16
.eos
.sym _OS_TCB,0,8,13,176,_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 _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_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,60,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,60,2,4096,,256
.globl _OSUnMapTbl
.text
.sym _OSEventTaskRdy,_OSEventTaskRdy,32,2,0
.globl _OSEventTaskRdy
.func 101
******************************************************
* FUNCTION DEF : _OSEventTaskRdy
******************************************************
_OSEventTaskRdy:
LF1 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,7
LAR AR0,*0+,AR2
.sym _pevent,-3+LF1,24,9,16,.fake0
.sym _msg,-4+LF1,16,9,16
.sym _msk,-5+LF1,12,9,16
.sym _ptcb,1,24,1,16,_os_tcb
.sym _x,2,12,1,16
.sym _y,3,12,1,16
.sym _bitx,4,12,1,16
.sym _bity,5,12,1,16
.sym _prio,6,12,1,16
.line 2
.line 11
LARK AR2,-3+LF1
MAR *0+
LAR AR3,* ,AR3
ADRK 8
LAC * ,AR0
ADLK _OSUnMapTbl+0,0
SACL *
LAR AR4,* ,AR4
LAC * ,AR2
ADRK 6-LF1
SACL *
.line 12
LAC * ,AR0
ADLK _OSMapTbl+0,0
SACL *
LAR AR4,* ,AR4
LAC * ,AR2
ADRK 2
SACL *
.line 13
SBRK 8-LF1
LAC *
ADDK 1
ADRK 6-LF1
ADD *-,AR0
SACL *
LAR AR4,* ,AR4
LAC * ,AR0
ADLK _OSUnMapTbl+0,0
SACL *
LAR AR4,* ,AR4
LAC * ,AR2
SACL *
.line 14
LAC * ,AR0
ADLK _OSMapTbl+0,0
SACL *
LAR AR4,* ,AR4
LAC * ,AR2
ADRK 2
SACL *-
.line 15
LAC *-,3
ADD *
ADRK 4
SACL *
.line 16
SBRK 2
ZALS * ,AR1
CMPL
SACL *+,AR2
SBRK 7-LF1
LAC *
ADDK 1
ADRK 6-LF1
ADD * ,AR0
SACL *
LAR AR4,* ,AR1
MAR *-
ZALS * ,AR4
AND *
SACL *
BNZ L1
.line 17
MAR * ,AR2
ADRK 2
LAC * ,AR3
CMPL
AND *
SACL *
L1:
.line 19
MAR * ,AR2
LARK AR2,6
MAR *0+
LAC * ,AR0
ADLK _OSTCBPrioTbl+0,0
SACL *
LAR AR4,* ,AR4
LAC * ,AR2
SBRK 5
SACL *
.line 20
LAR AR4,* ,AR4
LACK 0
ADRK 4
SACL *-
.line 21
SACL * ,AR2
.line 25
.line 27
SBRK 6-LF1
LAC * ,AR4
CMPL
ADRK 2
AND *
SACL *
.line 28
LAC *
BNZ L2
.line 29
LDPK _OSRdyGrp
LAC _OSRdyGrp
MAR * ,AR2
ADRK 10-LF1
OR *
SACL _OSRdyGrp
.line 30
SBRK 2
LAC *+,AR0
ADLK _OSRdyTbl+0,0
SACL *
LAR AR5,* ,AR5
LAC * ,AR2
OR * ,AR5
SACL *
L2:
EPI0_1:
.line 32
MAR * ,AR1
SBRK 8
LAR AR0,*-
PSHD *
RET
.endfunc 132,000000000H,7
.sym _OSEventTaskWait,_OSEventTaskWait,32,2,0
.globl _OSEventTaskWait
.func 150
******************************************************
* FUNCTION DEF : _OSEventTaskWait
******************************************************
_OSEventTaskWait:
LF2 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR2
.sym _pevent,-3+LF2,24,9,16,.fake0
.line 2
.line 3
LDPK _OSTCBCur
LAR AR3,_OSTCBCur
LARK AR2,-3+LF2
MAR *0+
LAC * ,AR3
ADRK 3
SACL *
.line 4
ADRK 6
ZALS *-,AR1
CMPL
SACL * ,AR3
LAC * ,AR0
ADLK _OSRdyTbl+0,0
SACL *
LAR AR4,* ,AR1
ZALS * ,AR4
AND *
SACL *
BNZ L3
.line 5
MAR * ,AR3
ADRK 2
LAC *
CMPL
AND _OSRdyGrp
SACL _OSRdyGrp
L3:
.line 7
LAR AR3,_OSTCBCur
LAR AR4,_OSTCBCur
MAR * ,AR2
LAC * ,AR4
ADDK 1
ADRK 8
ADD * ,AR0
SACL *
LAR AR5,* ,AR5
LAC * ,AR3
ADRK 9
OR * ,AR5
SACL * ,AR2
.line 8
LAR AR5,* ,AR5
ADRK 8
LAC * ,AR3
MAR *+
OR * ,AR5
SACL * ,AR1
EPI0_2:
.line 9
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 158,000000000H,1
.sym _OSEventTO,_OSEventTO,32,2,0
.globl _OSEventTO
.func 176
******************************************************
* FUNCTION DEF : _OSEventTO
******************************************************
_OSEventTO:
LF3 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.sym _pevent,-3+LF3,24,9,16,.fake0
.line 2
.line 3
LDPK _OSTCBCur
LAR AR3,_OSTCBCur
ADRK 9
ZALS *-,AR1
CMPL
SACL * ,AR2
LARK AR2,-3+LF3
MAR *0+
LAC * ,AR3
ADDK 1
ADD * ,AR0
SACL *
LAR AR4,* ,AR1
ZALS * ,AR4
AND *
SACL *
BNZ L4
.line 4
MAR * ,AR3
ADRK 2
LAC * ,AR2
CMPL
LAR AR4,* ,AR4
ADRK 8
AND *
SACL *
L4:
.line 6
LAR AR3,_OSTCBCur
LACK 0
MAR * ,AR3
ADRK 5
SACL *
.line 7
SBRK 2
SACL * ,AR1
EPI0_3:
.line 8
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 183,000000000H,1
.sym _OSEventWaitListInit,_OSEventWaitListInit,32,2,0
.globl _OSEventWaitListInit
.func 200
******************************************************
* FUNCTION DEF : _OSEventWaitListInit
******************************************************
_OSEventWaitListInit:
LF4 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR2
.sym _pevent,-3+LF4,24,9,16,.fake0
.sym _i,1,12,1,16
.line 2
.line 6
LARK AR2,-3+LF4
MAR *0+
LAR AR3,* ,AR3
LACK 0
ADRK 8
SACL * ,AR2
.line 7
ADRK 4-LF4
SACL *
ZALS *
SUBK 5
BGEZ L6
SBRK 4-LF4
L5:
.line 8
LAC *
ADDK 1
ADRK 4-LF4
ADD * ,AR0
SACL *
LAR AR3,* ,AR3
LACK 0
SACL * ,AR2
.line 7
LAC *
ADDK 1
SACL *
ZALS *
SUBK 5
SBRK 4-LF4
BLZ L5
L6:
EPI0_4:
.line 10
MAR * ,AR1
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 209,000000000H,2
.sym _OSInit,_OSInit,32,2,0
.globl _OSInit
.func 225
******************************************************
* FUNCTION DEF : _OSInit
******************************************************
_OSInit:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR2
.sym _i,1,14,1,16
.line 6
LACK 0
LDPK _OSTime
SACL _OSTime
SACH _OSTime+1
.line 7
SACL _OSIntNesting
.line 8
SACL _OSLockNesting
.line 10
SACL _OSTaskCtr
.line 12
SACL _OSRunning
.line 13
SACL _OSIdleCtr
SACH _OSIdleCtr+1
.line 19
SACL _OSCtxSwCtr
SACH _OSCtxSwCtr+1
.line 20
SACL _OSRdyGrp
.line 21
LARK AR2,1
MAR *0+
SACL *
ZALS *
SUBK 5
BGEZ L8
L7:
.line 22
LAC * ,AR0
ADLK _OSRdyTbl+0,0
SACL *
LAR AR3,* ,AR3
LACK 0
SACL * ,AR2
.line 21
LAC *
ADDK 1
SACL *
ZALS *
SUBK 5
BLZ L7
L8:
.line 25
LACK 0
LDPK _OSPrioCur
SACL _OSPrioCur
.line 26
SACL _OSPrioHighRdy
.line 27
SACL _OSTCBHighRdy
.line 28
SACL _OSTCBCur
.line 29
SACL _OSTCBList
.line 30
SACL *
ZALS *
SUBK 34
BGEZ L10
L9:
.line 31
LAC * ,AR0
ADLK _OSTCBPrioTbl+0,0
SACL *
LAR AR3,* ,AR3
LACK 0
SACL * ,AR2
.line 30
LAC *
ADDK 1
SACL *
ZALS *
SUBK 34
BLZ L9
L10:
.line 33
LACK 0
SACL *
ZALS *
SUBK 12
BGEZ L12
L11:
.line 34
LAC * ,AR0
ADDK 1
SACL *
LT * ,AR1
MPYK 11
PAC
ADLK _OSTCBTbl+0,0
SACL * ,AR2
LT * ,AR0
MPYK 11
PAC
ADLK _OSTCBTbl+0,0
SACL *
LAR AR3,* ,AR1
LAC * ,AR3
MAR *+
SACL * ,AR2
.line 33
LAC *
ADDK 1
SACL *
ZALS *
SUBK 12
BLZ L11
L12:
.line 36
LRLK AR3,_OSTCBTbl+133
LACK 0
MAR * ,AR3
SACL * ,AR2
.line 37
LALK _OSTCBTbl+0
LDPK _OSTCBFreeList
SACL _OSTCBFreeList
.line 40
LACK 0
SACL *
LAC *
BNZ L14
L13:
.line 41
LAC * ,AR0
ADDK 1
SACL *
LT * ,AR1
MPYK 9
PAC
ADLK _OSEventTbl+0,0
SACL * ,AR2
LT * ,AR0
MPYK 9
PAC
ADLK _OSEventTbl+0,0
SACL *
LAR AR3,* ,AR1
LAC * ,AR3
SACL * ,AR2
.line 40
LAC *
ADDK 1
SACL *
LAC *
BZ L13
L14:
.line 43
LRLK AR3,_OSEventTbl+9
LACK 0
MAR * ,AR3
SACL * ,AR1
.line 44
LALK _OSEventTbl+0
LDPK _OSEventFreeList
SACL _OSEventFreeList
.line 81
LACK 33
SACL *+
LALK _OSTaskIdleStk+0
SACL *+
LACK 0
SACL *+
LALK _OSTaskIdle+0
SACL *+
CALL _OSTaskCreate
SBRK 4
.line 115
LACK 32
SACL *+
LALK _OSTaskStatStk+0
SACL *+
LACK 0
SACL *+
LALK _OSTaskStat+0
SACL *+
CALL _OSTaskCreate
SBRK 4
EPI0_5:
.line 122
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 346,000000000H,2
.sym _OSIntEnter,_OSIntEnter,32,2,0
.globl _OSIntEnter
.func 371
******************************************************
* FUNCTION DEF : _OSIntEnter
******************************************************
_OSIntEnter:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
SETC INTM
.line 4
LDPK _OSIntNesting
LAC _OSIntNesting
ADDK 1
SACL _OSIntNesting
.line 5
CLRC INTM
EPI0_6:
.line 6
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 376,000000000H,1
.sym _OSIntExit,_OSIntExit,32,2,0
.globl _OSIntExit
.func 397
******************************************************
* FUNCTION DEF : _OSIntExit
******************************************************
_OSIntExit:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
SETC INTM
.line 4
LDPK _OSIntNesting
ZALS _OSIntNesting
SUBK 1
SACL _OSIntNesting
OR _OSLockNesting
ANDK 0FFFFh
BNZ L15
.line 5
LAC _OSRdyGrp
ADLK _OSUnMapTbl+0,0
MAR * ,AR0
SACL *
LAR AR3,* ,AR3
BLDD * ,#_OSIntExitY,AR0
.line 6
LAC _OSIntExitY
ADLK _OSRdyTbl+0,0
SACL *
LAR AR3,* ,AR3
LAC * ,AR0
ADLK _OSUnMapTbl+0,0
SACL *
LAR AR3,* ,AR3
LAC _OSIntExitY,3
ADD *
SACL _OSPrioHighRdy
.line 7
LAC _OSPrioHighRdy
SUB _OSPrioCur
BZ L15
.line 8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -