📄 os_core.asm
字号:
POPM AR1
RET
; return occurs
.endfunc 132,000000400h,8
.sect ".text"
.global _OSEventTaskWait
.sym _OSEventTaskWait,_OSEventTaskWait, 32, 2, 0
.func 150
;***************************************************************
;* FUNCTION DEF: _OSEventTaskWait *
;***************************************************************
_OSEventTaskWait:
.line 2
;* A assigned to _pevent
.sym _pevent,0, 24, 17, 16, $$fake0
.sym _pevent,0, 24, 1, 16, $$fake0
PSHM AR1
FRAME #-1
NOP
STL A,*SP(0)
.line 3
MVDM *(_OSTCBCur),AR1
NOP
STL A,*AR1(3)
.line 4
MVDM *(_OSTCBCur),AR2
MVDM *(_OSTCBCur),AR1
LD *AR2(10),A
MVDK *AR1(9),*(AR1)
CMPL A,A ; |153|
AND *AR1(_OSRdyTbl),A ; |153|
STLM A,AR2
MVKD *(AR2),*AR1(_OSRdyTbl)
BANZ L3,*AR2 ; |153|
; branch occurs ; |153|
.line 5
MVDM *(_OSTCBCur),AR1
NOP
LD *AR1(11),A
CMPL A,A ; |154|
AND *(_OSRdyGrp),A ; |154|
STL A,*(_OSRdyGrp)
L3:
.line 7
MVDM *(_OSTCBCur),AR1
NOP
LD *AR1(9),A
MVDM *(_OSTCBCur),AR2
ADD *SP(0),A ; |156|
ADD #1,A,A ; |156|
STLM A,AR1
LD *AR2(10),A
OR *AR1,A ; |156|
STL A,*AR1
.line 8
MVDM *(_OSTCBCur),AR2
MVDK *SP(0),*(AR1)
LD *AR2(11),A
OR *AR1(5),A ; |157|
STL A,*AR1(5)
.line 9
FRAME #1
POPM AR1
RET
; return occurs
.endfunc 158,000000400h,2
.sect ".text"
.global _OSEventTO
.sym _OSEventTO,_OSEventTO, 32, 2, 0
.func 176
;***************************************************************
;* FUNCTION DEF: _OSEventTO *
;***************************************************************
_OSEventTO:
.line 2
;* A assigned to _pevent
.sym _pevent,0, 24, 17, 16, $$fake0
.sym _pevent,0, 24, 1, 16, $$fake0
PSHM AR1
FRAME #-1
NOP
STL A,*SP(0)
.line 3
MVDM *(_OSTCBCur),AR1
NOP
LD *AR1(9),A
ADD *SP(0),A ; |178|
ADD #1,A,A ; |178|
STLM A,AR2
LD *AR1(10),A
CMPL A,A ; |178|
AND *AR2,A ; |178|
STLM A,AR1
NOP
NOP
BANZD L4,*AR1 ; |178|
MVKD *(AR1),*AR2
; branch occurs ; |178|
.line 4
MVDM *(_OSTCBCur),AR2
MVDK *SP(0),*(AR1)
LD *AR2(11),A
CMPL A,A ; |179|
AND *AR1(5),A ; |179|
STL A,*AR1(5)
L4:
.line 6
MVDM *(_OSTCBCur),AR1
NOP
ST #0,*AR1(6) ; |181|
.line 7
MVDM *(_OSTCBCur),AR1
NOP
ST #0,*AR1(3) ; |182|
.line 8
FRAME #1
POPM AR1
RET
; return occurs
.endfunc 183,000000400h,2
.sect ".text"
.global _OSEventWaitListInit
.sym _OSEventWaitListInit,_OSEventWaitListInit, 32, 2, 0
.func 200
;***************************************************************
;* FUNCTION DEF: _OSEventWaitListInit *
;***************************************************************
_OSEventWaitListInit:
.line 2
;* A assigned to _pevent
.sym _pevent,0, 24, 17, 16, $$fake0
.sym _pevent,0, 24, 1, 16, $$fake0
.sym _i,1, 14, 1, 16
PSHM AR1
FRAME #-2
NOP
STL A,*SP(0)
.line 6
STLM A,AR1
NOP
NOP
ST #0,*AR1(5) ; |205|
.line 7
STM #2,AR0
ST #0,*SP(1) ; |206|
MVDK *SP(1),*(AR1)
CMPR 1,AR1 ; |206|
BC L6,NTC ; |206|
; branch occurs ; |206|
L5:
.line 8
LD *SP(1),A
ADD *SP(0),A ; |207|
STLM A,AR1
NOP
NOP
ST #0,*AR1(1) ; |207|
.line 9
ADDM #1,*SP(1) ; |208|
MVDK *SP(1),*(AR1)
CMPR 1,AR1 ; |208|
BC L5,TC ; |208|
; branch occurs ; |208|
L6:
.line 10
FRAME #2
POPM AR1
RET
; return occurs
.endfunc 209,000000400h,3
.sect ".text"
.global _OSInit
.sym _OSInit,_OSInit, 32, 2, 0
.func 225
;***************************************************************
;* FUNCTION DEF: _OSInit *
;***************************************************************
_OSInit:
.line 2
.sym _i,4, 14, 1, 16
PSHM AR1
FRAME #-6
.line 6
LD #0,A
DST A,*(_OSTime) ; |230|
.line 7
ST #0,*(_OSIntNesting) ; |231|
.line 8
ST #0,*(_OSLockNesting) ; |232|
.line 10
ST #0,*(_OSTaskCtr) ; |234|
.line 12
ST #0,*(_OSRunning) ; |236|
.line 13
LD #0,A
DST A,*(_OSIdleCtr) ; |237|
.line 19
LD #0,A
DST A,*(_OSCtxSwCtr) ; |243|
.line 20
ST #0,*(_OSRdyGrp) ; |244|
.line 21
STM #2,AR0
ST #0,*SP(4) ; |245|
MVDK *SP(4),*(AR1)
CMPR 1,AR1 ; |245|
BC L8,NTC ; |245|
; branch occurs ; |245|
L7:
.line 22
MVDK *SP(4),*(AR1)
ST #0,*AR1(_OSRdyTbl) ; |246|
.line 23
ADDM #1,*SP(4) ; |247|
MVDK *SP(4),*(AR1)
CMPR 1,AR1 ; |247|
BC L7,TC ; |247|
; branch occurs ; |247|
L8:
.line 25
ST #0,*(_OSPrioCur) ; |249|
.line 26
ST #0,*(_OSPrioHighRdy) ; |250|
.line 27
ST #0,*(_OSTCBHighRdy) ; |251|
.line 28
ST #0,*(_OSTCBCur) ; |252|
.line 29
ST #0,*(_OSTCBList) ; |253|
.line 30
ST #0,*SP(4) ; |254|
STM #13,AR0
MVDK *SP(4),*(AR1)
CMPR 1,AR1 ; |254|
BC L10,NTC ; |254|
; branch occurs ; |254|
L9:
.line 31
MVDK *SP(4),*(AR1)
ST #0,*AR1(_OSTCBPrioTbl) ; |255|
.line 32
ADDM #1,*SP(4) ; |256|
MVDK *SP(4),*(AR1)
CMPR 1,AR1 ; |256|
BC L9,TC ; |256|
; branch occurs ; |256|
L10:
.line 33
ST #0,*SP(4) ; |257|
STM #11,AR0
MVDK *SP(4),*(AR1)
CMPR 1,AR1 ; |257|
BC L12,NTC ; |257|
; branch occurs ; |257|
L11:
.line 34
LD *SP(4),A
STM #12,T
LD #_OSTCBTbl,B
ADD #1,A
MAC *(AL), B ; |258|
MPY *SP(4),#12,A ; |258|
STLM A,AR1
NOP
NOP
STL B,*AR1(_OSTCBTbl+1)
.line 35
ADDM #1,*SP(4) ; |259|
MVDK *SP(4),*(AR1)
CMPR 1,AR1 ; |259|
BC L11,TC ; |259|
; branch occurs ; |259|
L12:
.line 36
ST #0,*(_OSTCBTbl+133) ; |260|
.line 37
ST #_OSTCBTbl,*(_OSTCBFreeList) ; |261|
.line 40
ST #0,*SP(4) ; |264|
LD *SP(4),A ; |264|
BC L14,ANEQ ; |264|
; branch occurs ; |264|
L13:
.line 41
LD *SP(4),B
LD #_OSEventTbl,A
STM #6,T
ADD #1,B
MAC *(BL), A ; |265|
MPY *SP(4),#6,B ; |265|
STLM B,AR1
NOP
NOP
STL A,*AR1(_OSEventTbl)
.line 42
ADDM #1,*SP(4) ; |266|
LD *SP(4),A ; |266|
BC L13,AEQ ; |266|
; branch occurs ; |266|
L14:
.line 43
ST #0,*(_OSEventTbl+6) ; |267|
.line 44
ST #_OSEventTbl,*(_OSEventFreeList) ; |268|
.line 48
CALL #_OSQInit ; |272|
; call occurs [#_OSQInit] ; |272|
.line 67
ST #0,*SP(0) ; |291|
ST #_OSTaskIdleStk+511,*SP(1) ; |291|
ST #12,*SP(2) ; |291|
CALLD #_OSTaskCreate ; |291|
LD #_OSTaskIdle,A
; call occurs [#_OSTaskCreate] ; |291|
.line 122
FRAME #6
POPM AR1
RET
; return occurs
.endfunc 346,000000400h,7
.sect ".text"
.global _OSIntEnter
.sym _OSIntEnter,_OSIntEnter, 32, 2, 0
.func 371
;***************************************************************
;* FUNCTION DEF: _OSIntEnter *
;***************************************************************
_OSIntEnter:
.line 2
.line 3
ssbx INTM
.line 4
ADDM #1,*(_OSIntNesting) ; |374|
.line 5
rsbx INTM
.line 6
RET
; return occurs
.endfunc 376,000000000h,0
.sect ".text"
.global _OSIntExit
.sym _OSIntExit,_OSIntExit, 32, 2, 0
.func 397
;***************************************************************
;* FUNCTION DEF: _OSIntExit *
;***************************************************************
_OSIntExit:
.line 2
PSHM AR1
.line 3
ssbx INTM
.line 4
LD *(_OSIntNesting),A
SUB #1,A,A ; |400|
STL A,*(_OSIntNesting)
LDM AL,A ; |400|
OR *(_OSLockNesting),A ; |400|
BC L15,ANEQ ; |400|
; branch occurs ; |400|
.line 5
MVDM *(_OSRdyGrp),AR1
NOP
MVDK *AR1(_OSUnMapTbl),*(_OSIntExitY) ; |401|
.line 6
MVDM *(_OSIntExitY),AR1
NOP
MVDK *AR1(_OSRdyTbl),*(AR1)
LD *AR1(_OSUnMapTbl),A
ADD *(_OSIntExitY),#3,A,A ; |402|
STL A,*(_OSPrioHighRdy)
.line 7
LD *(_OSPrioHighRdy),A ; |403|
SUB *(_OSPrioCur),A ; |403|
BC L15,AEQ ; |403|
; branch occurs ; |403|
.line 8
MVDM *(_OSPrioHighRdy),AR1
NOP
MVDK *AR1(_OSTCBPrioTbl),*(_OSTCBHighRdy) ; |404|
.line 9
DLD *(_OSCtxSwCtr),A ; |405|
ADD #1,A ; |405|
DST A,*(_OSCtxSwCtr) ; |405|
.line 10
CALL #_OSIntCtxSw ; |406|
; call occurs [#_OSIntCtxSw] ; |406|
L15:
.line 13
rsbx INTM
.line 14
POPM AR1
RET
; return occurs
.endfunc 410,000000400h,1
.sect ".text"
.global _OSSched
.sym _OSSched,_OSSched, 32, 2, 0
.func 429
;***************************************************************
;* FUNCTION DEF: _OSSched *
;***************************************************************
_OSSched:
.line 2
.sym _y,0, 14, 1, 16
PSHM AR1
FRAME #-1
.line 6
ssbx INTM
.line 7
LD *(_OSIntNesting),A
OR *(_OSLockNesting),A ; |435|
STLM A,AR1
NOP
NOP
BANZ L16,*AR1 ; |435|
; branch occurs ; |435|
.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
ADD *SP(0),#3,A,A ; |437|
STL A,*(_OSPrioHighRdy)
.line 10
LD *(_OSPrioHighRdy),A ; |438|
SUB *(_OSPrioCur),A ; |438|
BC L16,AEQ ; |438|
; branch occurs ; |438|
.line 11
MVDM *(_OSPrioHighRdy),AR1
NOP
MVDK *AR1(_OSTCBPrioTbl),*(_OSTCBHighRdy) ; |439|
.line 12
DLD *(_OSCtxSwCtr),A ; |440|
ADD #1,A ; |440|
DST A,*(_OSCtxSwCtr) ; |440|
.line 13
INTR #2
L16:
.line 16
rsbx INTM
.line 17
FRAME #1
POPM AR1
RET
; return occurs
.endfunc 445,000000400h,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -