📄 os_core.asm
字号:
.sect ".text"
.global _OSSchedLock
.sym _OSSchedLock,_OSSchedLock, 32, 2, 0
.func 463
;***************************************************************
;* FUNCTION DEF: _OSSchedLock *
;***************************************************************
_OSSchedLock:
.line 2
.line 3
CMPM *(_OSRunning),#1 ; |465|
BC L17,NTC ; |465|
; branch occurs ; |465|
.line 4
ssbx INTM
.line 5
ADDM #1,*(_OSLockNesting) ; |467|
.line 6
rsbx INTM
.line 7
L17:
.line 8
RET
; return occurs
.endfunc 470,000000000h,0
.sect ".text"
.global _OSSchedUnlock
.sym _OSSchedUnlock,_OSSchedUnlock, 32, 2, 0
.func 487
;***************************************************************
;* FUNCTION DEF: _OSSchedUnlock *
;***************************************************************
_OSSchedUnlock:
.line 2
PSHM AR1
.line 3
CMPM *(_OSRunning),#1 ; |489|
BC L20,NTC ; |489|
; branch occurs ; |489|
.line 4
ssbx INTM
.line 5
LD *(_OSLockNesting),A ; |491|
BC L19,AEQ ; |491|
; branch occurs ; |491|
.line 6
ADDM #-1,*(_OSLockNesting) ; |492|
.line 7
LD *(_OSIntNesting),A
OR *(_OSLockNesting),A ; |493|
STLM A,AR1
NOP
NOP
BANZ L18,*AR1 ; |493|
; branch occurs ; |493|
.line 8
rsbx INTM
.line 9
CALL #_OSSched ; |495|
; call occurs [#_OSSched] ; |495|
.line 10
B L20 ; |496|
; branch occurs ; |496|
L18:
.line 11
rsbx INTM
.line 13
B L20 ; |499|
; branch occurs ; |499|
L19:
.line 14
rsbx INTM
.line 16
L20:
.line 17
POPM AR1
RET
; return occurs
.endfunc 503,000000400h,1
.sect ".text"
.global _OSStart
.sym _OSStart,_OSStart, 32, 2, 0
.func 523
;***************************************************************
;* FUNCTION DEF: _OSStart *
;***************************************************************
_OSStart:
.line 2
.sym _y,0, 14, 1, 16
.sym _x,1, 14, 1, 16
PSHM AR1
FRAME #-2
.line 7
LD *(_OSRunning),A ; |529|
BC L21,ANEQ ; |529|
; branch occurs ; |529|
.line 8
MVDM *(_OSRdyGrp),AR1
NOP
LD *AR1(_OSUnMapTbl),A
STL A,*SP(0)
.line 9
MVDK *SP(0),*(AR1)
MVDK *AR1(_OSRdyTbl),*(AR1)
LD *AR1(_OSUnMapTbl),A
STL A,*SP(1)
.line 10
ADD *SP(0),#3,A,A ; |532|
STL A,*(_OSPrioHighRdy)
.line 11
MVDK *(_OSPrioHighRdy),*(_OSPrioCur) ; |533|
.line 12
MVDM *(_OSPrioHighRdy),AR1
NOP
MVDK *AR1(_OSTCBPrioTbl),*(_OSTCBHighRdy) ; |534|
.line 13
MVDK *(_OSTCBHighRdy),*(_OSTCBCur) ; |535|
.line 14
CALL #_OSStartHighRdy ; |536|
; call occurs [#_OSStartHighRdy] ; |536|
.line 15
L21:
.line 16
FRAME #2
POPM AR1
RET
; return occurs
.endfunc 538,000000400h,3
.sect ".text"
.global _OSTaskIdle
.sym _OSTaskIdle,_OSTaskIdle, 32, 2, 0
.func 588
;***************************************************************
;* FUNCTION DEF: _OSTaskIdle *
;***************************************************************
_OSTaskIdle:
.line 2
;* A assigned to _pdata
.sym _pdata,0, 16, 17, 16
.sym _pdata,0, 16, 1, 16
FRAME #-1
NOP
STL A,*SP(0)
.line 4
CALL #_OSTimeGet ; |591|
; call occurs [#_OSTimeGet] ; |591|
DST A,*(_lasttick$1) ; |591|
.line 5
L22:
.line 7
CALL #_OSTimeGet ; |594|
; call occurs [#_OSTimeGet] ; |594|
DST A,*(_x$2) ; |594|
.line 8
ssbx INTM
.line 9
DLD *(_OSIdleCtr),A ; |596|
ADD #1,A ; |596|
DST A,*(_OSIdleCtr) ; |596|
.line 10
DLD *(_x$2),A ; |597|
DADD *(_tickcount$3),A,A ; |597|
DSUB *(_lasttick$1),A ; |597|
DST A,*(_tickcount$3) ; |597|
.line 11
DLD *(_x$2),A ; |598|
DST A,*(_lasttick$1) ; |598|
.line 12
rsbx INTM
.line 13
B L22 ; |600|
; branch occurs ; |600|
.endfunc 601,000000000h,1
.sect ".text"
.global _OSTCBInit
.sym _OSTCBInit,_OSTCBInit, 46, 2, 0
.func 707
;***************************************************************
;* FUNCTION DEF: _OSTCBInit *
;***************************************************************
_OSTCBInit:
.line 2
;* A assigned to _prio
.sym _prio,0, 14, 17, 16
.sym _ptos,4, 30, 9, 16
.sym _pbos,5, 30, 9, 16
.sym _id,6, 14, 9, 16
.sym _stk_size,7, 14, 9, 16
.sym _pext,8, 16, 9, 16
.sym _opt,9, 14, 9, 16
.sym _prio,0, 14, 1, 16
.sym _ptcb,1, 24, 1, 16, _os_tcb
PSHM AR1
FRAME #-2
NOP
STL A,*SP(0)
.line 6
ssbx INTM
.line 7
MVKD *(_OSTCBFreeList),*SP(1) ; |713|
.line 8
LD *SP(1),A ; |714|
BC L24,AEQ ; |714|
; branch occurs ; |714|
.line 9
MVDK *SP(1),*(AR1)
MVDK *AR1(1),*(_OSTCBFreeList) ; |715|
.line 10
rsbx INTM
.line 11
LD *SP(4),A
STL A,*AR1
.line 12
MVDK *SP(1),*(AR1)
LD *SP(0),A
STL A,*AR1(7)
.line 13
MVDK *SP(1),*(AR1)
ST #0,*AR1(6) ; |719|
.line 14
MVDK *SP(1),*(AR1)
ST #0,*AR1(5) ; |720|
.line 23
.line 24
.line 25
.line 26
.line 27
.line 34
RSBX SXM
LD *SP(0),#-3,A ; |740|
MVDK *SP(1),*(AR1)
STL A,*AR1(9) ; |740|
.line 35
MVDK *SP(1),*(AR1)
MVDK *AR1(9),*(AR1)
LD *AR1(_OSMapTbl),A
MVDK *SP(1),*(AR1)
STL A,*AR1(11)
.line 36
LD #7,A
AND *SP(0),A ; |742|
MVDK *SP(1),*(AR1)
STL A,*AR1(8)
.line 37
MVDK *SP(1),*(AR1)
MVDK *AR1(8),*(AR1)
LD *AR1(_OSMapTbl),A
MVDK *SP(1),*(AR1)
STL A,*AR1(10)
.line 40
MVDK *SP(1),*(AR1)
ST #0,*AR1(3) ; |746|
.line 44
MVDK *SP(1),*(AR1)
ST #0,*AR1(4) ; |750|
.line 47
ssbx INTM
.line 48
MVDK *SP(0),*(AR1)
LD *SP(1),A
STL A,*AR1(_OSTCBPrioTbl)
.line 49
MVDK *SP(1),*(AR1)
MVKD *(_OSTCBList),*AR1(1) ; |755|
.line 50
MVDK *SP(1),*(AR1)
ST #0,*AR1(2) ; |756|
.line 51
LD *(_OSTCBList),A ; |757|
BC L23,AEQ ; |757|
; branch occurs ; |757|
.line 52
MVDM *(_OSTCBList),AR1
LD *SP(1),A
STL A,*AR1(2)
L23:
.line 54
MVDK *SP(1),*(_OSTCBList) ; |760|
.line 55
MVDK *SP(1),*(AR1)
LD *AR1(11),A
OR *(_OSRdyGrp),A ; |761|
STL A,*(_OSRdyGrp)
.line 56
MVDK *SP(1),*(AR2)
MVDK *AR1(9),*(AR1)
LD *AR2(10),A
OR *AR1(_OSRdyTbl),A ; |762|
STL A,*AR1(_OSRdyTbl)
.line 57
rsbx INTM
.line 58
BD L25 ; |764|
NOP
LD #0,A
; branch occurs ; |764|
L24:
.line 60
rsbx INTM
.line 61
LD #70,A
L25:
.line 63
FRAME #2 ; |767|
POPM AR1 ; |767|
RET ; |767|
; return occurs ; |767|
.endfunc 769,000000400h,3
.sect ".text"
.global _OSTimeTick
.sym _OSTimeTick,_OSTimeTick, 32, 2, 0
.func 785
;***************************************************************
;* FUNCTION DEF: _OSTimeTick *
;***************************************************************
_OSTimeTick:
.line 2
.sym _ptcb,0, 24, 1, 16, _os_tcb
PSHM AR1
FRAME #-2
.line 6
CALL #_OSTimeTickHook ; |790|
; call occurs [#_OSTimeTickHook] ; |790|
.line 7
MVKD *(_OSTCBList),*SP(0) ; |791|
.line 8
MVDK *SP(0),*(AR1)
CMPM *AR1(7),#12 ; |792|
BC L29,TC ; |792|
; branch occurs ; |792|
L26:
.line 9
ssbx INTM
.line 10
MVDK *SP(0),*(AR1)
LD *AR1(5),A ; |794|
BC L28,AEQ ; |794|
; branch occurs ; |794|
.line 11
LD *AR1(5),A
SUB #1,A,A ; |795|
STLM A,AR2
MVKD *(AR2),*AR1(5)
BANZ L28,*AR2 ; |795|
; branch occurs ; |795|
.line 12
MVDK *SP(0),*(AR1)
BITF *AR1(6),#8 ; |796|
BC L27,TC ; |796|
; branch occurs ; |796|
.line 13
LD *AR1(11),A
OR *(_OSRdyGrp),A ; |797|
STL A,*(_OSRdyGrp)
.line 14
MVDK *SP(0),*(AR2)
MVDK *AR1(9),*(AR1)
LD *AR2(10),A
OR *AR1(_OSRdyTbl),A ; |798|
STL A,*AR1(_OSRdyTbl)
.line 15
B L28 ; |799|
; branch occurs ; |799|
L27:
.line 16
ST #1,*AR1(5) ; |800|
L28:
.line 20
MVDK *SP(0),*(AR1)
LD *AR1(1),A
STL A,*SP(0)
.line 21
rsbx INTM
.line 22
STLM A,AR1
NOP
NOP
CMPM *AR1(7),#12 ; |806|
BC L26,NTC ; |806|
; branch occurs ; |806|
L29:
.line 23
ssbx INTM
.line 24
DLD *(_OSTime),A ; |808|
ADD #1,A ; |808|
DST A,*(_OSTime) ; |808|
.line 25
rsbx INTM
.line 26
FRAME #2
POPM AR1
RET
; return occurs
.endfunc 810,000000400h,3
.sect ".text"
.global _OSVersion
.sym _OSVersion,_OSVersion, 46, 2, 0
.func 826
;***************************************************************
;* FUNCTION DEF: _OSVersion *
;***************************************************************
_OSVersion:
.line 2
.line 3
LD #200,A
.line 4
RET ; |828|
; return occurs ; |828|
.endfunc 829,000000000h,0
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;***************************************************************
.global _OSTaskCreate
.global _OSTimeGet
.global _OSQInit
.global _OSIntCtxSw
.global _OSStartHighRdy
.global _OSTimeTickHook
;***************************************************************
;* TYPE INFORMATION *
;***************************************************************
.sym _INT8U, 0, 14, 13, 16
.sym _INT8U, 0, 14, 13, 16
.sym _OS_STK, 0, 14, 13, 16
.sym _INT16U, 0, 14, 13, 16
.sym _BOOLEAN, 0, 14, 13, 16
.sym _INT32U, 0, 15, 13, 32
.stag $$fake0, 96
.member _OSEventPtr, 0, 16, 8, 16
.member _OSEventTbl, 16, 62, 8, 32, , 2
.member _OSEventCnt, 48, 14, 8, 16
.member _OSEventType, 64, 14, 8, 16
.member _OSEventGrp, 80, 14, 8, 16
.eos
.sym _OS_EVENT, 0, 8, 13, 96,$$fake0
.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, 14, 8, 16
.member _OSTCBPrio, 112, 14, 8, 16
.member _OSTCBX, 128, 14, 8, 16
.member _OSTCBY, 144, 14, 8, 16
.member _OSTCBBitX, 160, 14, 8, 16
.member _OSTCBBitY, 176, 14, 8, 16
.eos
.sym _OS_TCB, 0, 8, 13, 192,_os_tcb
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -