📄 os_core.asm
字号:
L13:
.line 13
LD *(_OSIntNesting),A ; |334|
BC L14,ANEQ ; |334|
; branch occurs ; |334|
.line 14
LD *(_OSLockNesting),A ; |335|
BC L14,ANEQ ; |335|
; branch occurs ; |335|
.line 15
MVDM *(_OSRdyGrp),AR1 ; |336|
NOP
MVDK *AR1(_OSUnMapTbl),*(_OSIntExitY) ; |336|
.line 16
MVDM *(_OSIntExitY),AR1 ; |337|
NOP
MVDK *AR1(_OSRdyTbl),*(AR1) ; |337|
LD *AR1(_OSUnMapTbl),A ; |337|
ADD *(_OSIntExitY),#3,A,A ; |337|
STL A,*(_OSPrioHighRdy) ; |337|
.line 17
LD *(_OSPrioHighRdy),A ; |338|
SUB *(_OSPrioCur),A ; |338|
BC L14,AEQ ; |338|
; branch occurs ; |338|
.line 18
MVDM *(_OSPrioHighRdy),AR1 ; |339|
NOP
MVDK *AR1(_OSTCBPrioTbl),*(_OSTCBHighRdy) ; |339|
.line 20
MVDM *(_OSTCBHighRdy),AR1 ; |341|
NOP
DLD *AR1(22),A ; |341|
ADD #1,A ; |341|
DST A,*AR1(22) ; |341|
.line 22
DLD *(_OSCtxSwCtr),A ; |343|
ADD #1,A ; |343|
DST A,*(_OSCtxSwCtr) ; |343|
.line 23
CALL #_OSIntCtxSw ; |344|
; call occurs [#_OSIntCtxSw] ; |344|
L14:
.line 27
rsbx INTM
.line 29
L15:
POPM AR1
RET
; return occurs
.endfunc 350,000000400h,1
.sect ".text"
.global _OSSchedLock
.sym _OSSchedLock,_OSSchedLock, 32, 2, 0
.func 369
;***************************************************************
;* FUNCTION DEF: _OSSchedLock *
;***************************************************************
_OSSchedLock:
PSHM AR1
.line 8
CMPM *(_OSRunning),#1 ; |376|
BC L17,NTC ; |376|
; branch occurs ; |376|
.line 9
ssbx INTM
.line 10
MVDM *(_OSLockNesting),AR1 ; |378|
STM #255,AR0 ; |378|
CMPR 1,AR1 ; |378|
BC L16,NTC ; |378|
; branch occurs ; |378|
.line 11
ADDM #1,*(_OSLockNesting) ; |379|
L16:
.line 13
rsbx INTM
.line 15
L17:
POPM AR1
RET
; return occurs
.endfunc 383,000000400h,1
.sect ".text"
.global _OSSchedUnlock
.sym _OSSchedUnlock,_OSSchedUnlock, 32, 2, 0
.func 403
;***************************************************************
;* FUNCTION DEF: _OSSchedUnlock *
;***************************************************************
_OSSchedUnlock:
FRAME #-1
.line 8
CMPM *(_OSRunning),#1 ; |410|
BC L21,NTC ; |410|
; branch occurs ; |410|
.line 9
ssbx INTM
.line 10
LD *(_OSLockNesting),A ; |412|
BC L20,AEQ ; |412|
; branch occurs ; |412|
.line 11
ADDM #-1,*(_OSLockNesting) ; |413|
.line 12
LD *(_OSLockNesting),A ; |414|
BC L19,ANEQ ; |414|
; branch occurs ; |414|
.line 13
LD *(_OSIntNesting),A ; |415|
BC L18,ANEQ ; |415|
; branch occurs ; |415|
.line 14
rsbx INTM
.line 15
CALL #_OS_Sched ; |417|
; call occurs [#_OS_Sched] ; |417|
.line 16
B L21 ; |418|
; branch occurs ; |418|
L18:
.line 17
rsbx INTM
.line 19
B L21 ; |421|
; branch occurs ; |421|
L19:
.line 20
rsbx INTM
.line 22
B L21 ; |424|
; branch occurs ; |424|
L20:
.line 23
rsbx INTM
.line 26
L21:
FRAME #1
RET
; return occurs
.endfunc 428,000000000h,1
.sect ".text"
.global _OSStart
.sym _OSStart,_OSStart, 32, 2, 0
.func 452
;***************************************************************
;* FUNCTION DEF: _OSStart *
;***************************************************************
_OSStart:
.sym _y,0, 14, 1, 16
.sym _x,1, 14, 1, 16
PSHM AR1
FRAME #-2
.line 7
LD *(_OSRunning),A ; |458|
BC L22,ANEQ ; |458|
; branch occurs ; |458|
.line 8
MVDM *(_OSRdyGrp),AR1 ; |459|
NOP
LD *AR1(_OSUnMapTbl),A ; |459|
STL A,*SP(0) ; |459|
.line 9
MVDK *SP(0),*(AR1) ; |460|
MVDK *AR1(_OSRdyTbl),*(AR1) ; |460|
LD *AR1(_OSUnMapTbl),A ; |460|
STL A,*SP(1) ; |460|
.line 10
ADD *SP(0),#3,A,A ; |461|
STL A,*(_OSPrioHighRdy) ; |461|
.line 11
MVDK *(_OSPrioHighRdy),*(_OSPrioCur) ; |462|
.line 12
MVDM *(_OSPrioHighRdy),AR1 ; |463|
NOP
MVDK *AR1(_OSTCBPrioTbl),*(_OSTCBHighRdy) ; |463|
.line 13
MVDK *(_OSTCBHighRdy),*(_OSTCBCur) ; |464|
.line 14
CALL #_OSStartHighRdy ; |465|
; call occurs [#_OSStartHighRdy] ; |465|
.line 16
L22:
FRAME #2
POPM AR1
RET
; return occurs
.endfunc 467,000000400h,3
.sect ".text"
.global _OSStatInit
.sym _OSStatInit,_OSStatInit, 32, 2, 0
.func 490
;***************************************************************
;* FUNCTION DEF: _OSStatInit *
;***************************************************************
_OSStatInit:
FRAME #-1
.line 8
CALLD #_OSTimeDly ; |497|
NOP
LD #2,A ; |497|
; call occurs [#_OSTimeDly] ; |497|
.line 9
ssbx INTM
.line 10
LD #0,A ; |499|
DST A,*(_OSIdleCtr) ; |499|
.line 11
rsbx INTM
.line 12
CALLD #_OSTimeDly ; |501|
NOP
LD #2,A ; |501|
; call occurs [#_OSTimeDly] ; |501|
.line 13
ssbx INTM
.line 14
DLD *(_OSIdleCtr),A ; |503|
DST A,*(_OSIdleCtrMax) ; |503|
.line 15
ST #1,*(_OSStatRdy) ; |504|
.line 16
rsbx INTM
.line 17
FRAME #1
RET
; return occurs
.endfunc 506,000000000h,1
.sect ".text"
.global _OSTimeTick
.sym _OSTimeTick,_OSTimeTick, 32, 2, 0
.func 523
;***************************************************************
;* FUNCTION DEF: _OSTimeTick *
;***************************************************************
_OSTimeTick:
.sym _ptcb,0, 24, 1, 16, _os_tcb
.sym _step,1, 14, 1, 16
PSHM AR1
FRAME #-2
.line 11
CALL #_OSTimeTickHook ; |533|
; call occurs [#_OSTimeTickHook] ; |533|
.line 14
ssbx INTM
.line 15
DLD *(_OSTime),A ; |537|
ADD #1,A ; |537|
DST A,*(_OSTime) ; |537|
.line 16
rsbx INTM
.line 18
CMPM *(_OSRunning),#1 ; |540|
BC L32,NTC ; |540|
; branch occurs ; |540|
.line 20
B L27 ; |542|
; branch occurs ; |542|
L23:
.line 22
ST #1,*SP(1) ; |544|
B L28 ; |544|
; branch occurs ; |544|
L24:
.line 26
ST #0,*SP(1) ; |548|
B L28 ; |548|
; branch occurs ; |548|
L25:
.line 30
ST #1,*SP(1) ; |552|
.line 31
ST #1,*(_OSTickStepState) ; |553|
B L28 ; |553|
; branch occurs ; |553|
L26:
.line 35
ST #1,*SP(1) ; |557|
.line 36
ST #0,*(_OSTickStepState) ; |558|
B L28 ; |558|
; branch occurs ; |558|
L27:
MVDM *(_OSTickStepState),AR1 ; |558|
LDM AR1,A ; |558|
BC L23,AEQ ; |558|
; branch occurs ; |558|
STM #1,AR0 ; |558|
CMPR 0,AR1 ; |558|
BC L24,TC ; |558|
; branch occurs ; |558|
STM #2,AR0 ; |558|
CMPR 0,AR1 ; |558|
BC L25,TC ; |558|
; branch occurs ; |558|
B L26 ; |558|
; branch occurs ; |558|
L28:
.line 42
CMPM *SP(1),#1 ; |564|
BC L32,NTC ; |564|
; branch occurs ; |564|
.line 43
MVKD *(_OSTCBList),*SP(0) ; |565|
.line 44
MVDK *SP(0),*(AR1) ; |566|
CMPM *AR1(16),#63 ; |566|
BC L32,TC ; |566|
; branch occurs ; |566|
L29:
.line 45
ssbx INTM
.line 46
MVDK *SP(0),*(AR1) ; |568|
LD *AR1(14),A ; |568|
BC L31,AEQ ; |568|
; branch occurs ; |568|
.line 47
LD *AR1(14),A ; |569|
SUB #1,A,A ; |569|
STLM A,AR2 ; |569|
MVKD *(AR2),*AR1(14) ; |569|
BANZ L31,*AR2 ; |569|
; branch occurs ; |569|
.line 48
MVDK *SP(0),*(AR1) ; |570|
BITF *AR1(15),#8 ; |570|
BC L30,TC ; |570|
; branch occurs ; |570|
.line 49
LD *AR1(20),A ; |571|
OR *(_OSRdyGrp),A ; |571|
STL A,*(_OSRdyGrp) ; |571|
.line 50
MVDK *SP(0),*(AR2) ; |572|
MVDK *AR1(18),*(AR1) ; |572|
LD *AR2(19),A ; |572|
OR *AR1(_OSRdyTbl),A ; |572|
STL A,*AR1(_OSRdyTbl) ; |572|
.line 51
B L31 ; |573|
; branch occurs ; |573|
L30:
.line 52
ST #1,*AR1(14) ; |574|
L31:
.line 56
MVDK *SP(0),*(AR1) ; |578|
LD *AR1(8),A ; |578|
STL A,*SP(0) ; |578|
.line 57
rsbx INTM
.line 58
STLM A,AR1
NOP
NOP
CMPM *AR1(16),#63 ; |580|
BC L29,NTC ; |580|
; branch occurs ; |580|
.line 61
L32:
FRAME #2
POPM AR1
RET
; return occurs
.endfunc 583,000000400h,3
.sect ".text"
.global _OSVersion
.sym _OSVersion,_OSVersion, 46, 2, 0
.func 599
;***************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -