📄 ucos_ii.asm
字号:
MOVW DP,#_OSPrioCur
MOV @_OSPrioCur,#0 ; |250|
.line 26
MOV @_OSPrioHighRdy,#0 ; |251|
.line 27
MOVB ACC,#0
MOVL @_OSTCBHighRdy,ACC ; |252|
.line 28
MOVL @_OSTCBCur,ACC ; |253|
.line 29
MOVL @_OSTCBList,ACC ; |254|
.line 30
MOV *-SP[3],#0 ; |255|
MOV AL,*-SP[3] ; |255|
CMPB AL,#61 ; |255|
B L10,HIS ; |255|
; branch occurs ; |255|
L9:
.line 31
MOVU ACC,*-SP[3]
MOVL XAR4,#_OSTCBPrioTbl ; |256|
LSL ACC,1 ; |256|
ADDL XAR4,ACC
MOVB ACC,#0
MOVL *+XAR4[0],ACC ; |256|
.line 32
INC *-SP[3] ; |257|
MOV AL,*-SP[3] ; |257|
CMPB AL,#61 ; |257|
B L9,LO ; |257|
; branch occurs ; |257|
L10:
.line 33
MOV *-SP[3],#0 ; |258|
MOV AL,*-SP[3] ; |258|
CMPB AL,#13 ; |258|
B L12,HIS ; |258|
; branch occurs ; |258|
L11:
.line 34
MOVU ACC,*-SP[3]
MOVL XAR5,#_OSTCBTbl ; |259|
ADDB ACC,#1 ; |259|
MOVL XAR4,#_OSTCBTbl+2 ; |259|
LSL ACC,4 ; |259|
ADDL XAR5,ACC
MOVU ACC,*-SP[3]
LSL ACC,4 ; |259|
ADDL XAR4,ACC
MOVL *+XAR4[0],XAR5 ; |259|
.line 35
INC *-SP[3] ; |260|
MOV AL,*-SP[3] ; |260|
CMPB AL,#13 ; |260|
B L11,LO ; |260|
; branch occurs ; |260|
L12:
.line 36
MOVB ACC,#0
MOVW DP,#_OSTCBTbl+210
MOVL @_OSTCBTbl+210,ACC ; |261|
.line 37
MOVL XAR4,#_OSTCBTbl ; |262|
MOVW DP,#_OSTCBFreeList
MOVL @_OSTCBFreeList,XAR4 ; |262|
.line 40
MOV *-SP[3],#0 ; |265|
MOV AL,*-SP[3] ; |265|
BF L14,NEQ ; |265|
; branch occurs ; |265|
L13:
.line 41
MOV AL,*-SP[3] ; |266|
MOV T,#14
ADDB AL,#1 ; |266|
MOVL XAR5,#_OSEventTbl ; |266|
MPYU ACC,T,AL ; |266|
MOV T,#14
ADDL XAR5,ACC
MOVL XAR4,#_OSEventTbl ; |266|
MPYU ACC,T,*-SP[3] ; |266|
ADDL XAR4,ACC
MOVL *+XAR4[0],XAR5 ; |266|
.line 42
INC *-SP[3] ; |267|
MOV AL,*-SP[3] ; |267|
BF L13,EQ ; |267|
; branch occurs ; |267|
L14:
.line 43
MOVB ACC,#0
MOVW DP,#_OSEventTbl+14
MOVL @_OSEventTbl+14,ACC ; |268|
.line 44
MOVL XAR4,#_OSEventTbl ; |269|
MOVL @_OSEventFreeList,XAR4 ; |269|
.line 81
MOVB XAR5,#0
MOVL XAR4,#_OSTaskIdleStk ; |306|
MOVL *-SP[2],XAR4 ; |306|
MOVB AL,#60 ; |306|
MOVL XAR4,#_OSTaskIdle ; |306|
LCR #_OSTaskCreate ; |306|
; call occurs [#_OSTaskCreate] ; |306|
.line 122
SUBB SP,#4
LRETR
; return occurs
.endfunc 347,000000000h,4
.sect ".text"
.global _OSIntEnter
.sym _OSIntEnter,_OSIntEnter, 32, 2, 0
.func 372
;***************************************************************
;* FNAME: _OSIntEnter FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_OSIntEnter:
.line 2
.line 3
SETC INTM
.line 4
MOVW DP,#_OSIntNesting
INC @_OSIntNesting ; |375|
.line 5
CLRC INTM
.line 6
LRETR
; return occurs
.endfunc 377,000000000h,0
.sect ".text"
.global _OSIntExit
.sym _OSIntExit,_OSIntExit, 32, 2, 0
.func 398
;***************************************************************
;* FNAME: _OSIntExit FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_OSIntExit:
.line 2
.line 3
SETC INTM
.line 4
MOVW DP,#_OSIntNesting
MOV AL,@_OSIntNesting ; |401|
ADDB AL,#-1
MOV @_OSIntNesting,AL ; |401|
MOV AH,@_OSLockNesting ; |401|
OR AH,AL ; |401|
BF L15,NEQ ; |401|
; branch occurs ; |401|
.line 5
MOVZ AR0,@_OSRdyGrp ; |402|
MOVL XAR4,#_OSUnMapTbl ; |402|
MOV AL,*+XAR4[AR0] ; |402|
MOV @_OSIntExitY,AL ; |402|
.line 6
MOVZ AR0,@_OSIntExitY ; |403|
MOVL XAR4,#_OSRdyTbl ; |403|
MOVZ AR0,*+XAR4[AR0] ; |403|
MOV ACC,@_OSIntExitY << #3 ; |403|
MOVL XAR4,#_OSUnMapTbl ; |403|
ADD AL,*+XAR4[AR0] ; |403|
MOV @_OSPrioHighRdy,AL ; |403|
.line 7
MOV AL,@_OSPrioCur ; |404|
CMP AL,@_OSPrioHighRdy ; |404|
BF L15,EQ ; |404|
; branch occurs ; |404|
.line 8
MOVU ACC,@_OSPrioHighRdy
MOVL XAR4,#_OSTCBPrioTbl ; |405|
LSL ACC,1 ; |405|
ADDL XAR4,ACC
MOVL ACC,*+XAR4[0] ; |405|
MOVL @_OSTCBHighRdy,ACC ; |405|
.line 9
MOVL ACC,@_OSCtxSwCtr ; |406|
ADDB ACC,#1 ; |406|
MOVL @_OSCtxSwCtr,ACC ; |406|
.line 10
LCR #_OSIntCtxSw ; |407|
; call occurs [#_OSIntCtxSw] ; |407|
L15:
.line 13
CLRC INTM
.line 14
LRETR
; return occurs
.endfunc 411,000000000h,0
.sect ".text"
.global _OSSched
.sym _OSSched,_OSSched, 32, 2, 0
.func 430
;***************************************************************
;* FNAME: _OSSched FR SIZE: 1 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 1 Auto, 0 SOE *
;***************************************************************
_OSSched:
.line 2
.sym _y,-1, 12, 1, 16
ADDB SP,#1
.line 6
SETC INTM
.line 7
MOVW DP,#_OSIntNesting
MOV AL,@_OSIntNesting ; |436|
OR AL,@_OSLockNesting ; |436|
BF L16,NEQ ; |436|
; branch occurs ; |436|
.line 8
MOVZ AR0,@_OSRdyGrp ; |437|
MOVL XAR4,#_OSUnMapTbl ; |437|
MOV AL,*+XAR4[AR0] ; |437|
MOV *-SP[1],AL ; |437|
.line 9
MOVZ AR0,*-SP[1] ; |438|
MOVL XAR4,#_OSRdyTbl ; |438|
MOVZ AR0,*+XAR4[AR0] ; |438|
MOV ACC,*-SP[1] << #3 ; |438|
MOVL XAR4,#_OSUnMapTbl ; |438|
ADD AL,*+XAR4[AR0] ; |438|
MOV @_OSPrioHighRdy,AL ; |438|
.line 10
MOV AL,@_OSPrioCur ; |439|
CMP AL,@_OSPrioHighRdy ; |439|
BF L16,EQ ; |439|
; branch occurs ; |439|
.line 11
MOVU ACC,@_OSPrioHighRdy
MOVL XAR4,#_OSTCBPrioTbl ; |440|
LSL ACC,1 ; |440|
ADDL XAR4,ACC
MOVL ACC,*+XAR4[0] ; |440|
MOVL @_OSTCBHighRdy,ACC ; |440|
.line 12
MOVL ACC,@_OSCtxSwCtr ; |441|
ADDB ACC,#1 ; |441|
MOVL @_OSCtxSwCtr,ACC ; |441|
.line 13
TRAP #31
L16:
.line 16
CLRC INTM
.line 17
SUBB SP,#1
LRETR
; return occurs
.endfunc 446,000000000h,1
.sect ".text"
.global _OSSchedLock
.sym _OSSchedLock,_OSSchedLock, 32, 2, 0
.func 464
;***************************************************************
;* FNAME: _OSSchedLock FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_OSSchedLock:
.line 2
.line 3
MOVW DP,#_OSRunning
MOV AL,@_OSRunning ; |466|
CMPB AL,#1 ; |466|
BF L17,NEQ ; |466|
; branch occurs ; |466|
.line 4
SETC INTM
.line 5
INC @_OSLockNesting ; |468|
.line 6
CLRC INTM
.line 7
L17:
.line 8
LRETR
; return occurs
.endfunc 471,000000000h,0
.sect ".text"
.global _OSSchedUnlock
.sym _OSSchedUnlock,_OSSchedUnlock, 32, 2, 0
.func 488
;***************************************************************
;* FNAME: _OSSchedUnlock FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_OSSchedUnlock:
.line 2
.line 3
MOVW DP,#_OSRunning
MOV AL,@_OSRunning ; |490|
CMPB AL,#1 ; |490|
BF L20,NEQ ; |490|
; branch occurs ; |490|
.line 4
SETC INTM
.line 5
MOV AL,@_OSLockNesting ; |492|
BF L19,EQ ; |492|
; branch occurs ; |492|
.line 6
DEC @_OSLockNesting ; |493|
.line 7
MOV AL,@_OSIntNesting ; |494|
OR AL,@_OSLockNesting ; |494|
BF L18,NEQ ; |494|
; branch occurs ; |494|
.line 8
CLRC INTM
.line 9
LCR #_OSSched ; |496|
; call occurs [#_OSSched] ; |496|
.line 10
B L20,UNC ; |497|
; branch occurs ; |497|
L18:
.line 11
CLRC INTM
.line 13
B L20,UNC ; |500|
; branch occurs ; |500|
L19:
.line 14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -