📄 ucos_ii.asm
字号:
.line 20
MOV @_OSRdyGrp,#0 ; |244|
.line 21
MOV *-SP[10],#0 ; |245|
MOV AL,*-SP[10] ; |245|
CMPB AL,#2 ; |245|
B L8,HIS ; |245|
; branch occurs ; |245|
L7:
.line 22
MOVZ AR0,*-SP[10] ; |246|
MOVL XAR4,#_OSRdyTbl ; |246|
MOV *+XAR4[AR0],#0 ; |246|
.line 23
INC *-SP[10] ; |247|
MOV AL,*-SP[10] ; |247|
CMPB AL,#2 ; |247|
B L7,LO ; |247|
; branch occurs ; |247|
L8:
.line 25
MOVW DP,#_OSPrioCur
MOV @_OSPrioCur,#0 ; |249|
.line 26
MOV @_OSPrioHighRdy,#0 ; |250|
.line 27
MOVB ACC,#0
MOVL @_OSTCBHighRdy,ACC ; |251|
.line 28
MOVL @_OSTCBCur,ACC ; |252|
.line 29
MOVL @_OSTCBList,ACC ; |253|
.line 30
MOV *-SP[10],#0 ; |254|
MOV AL,*-SP[10] ; |254|
CMPB AL,#13 ; |254|
B L10,HIS ; |254|
; branch occurs ; |254|
L9:
.line 31
MOVU ACC,*-SP[10]
MOVL XAR4,#_OSTCBPrioTbl ; |255|
LSL ACC,1 ; |255|
ADDL XAR4,ACC
MOVB ACC,#0
MOVL *+XAR4[0],ACC ; |255|
.line 32
INC *-SP[10] ; |256|
MOV AL,*-SP[10] ; |256|
CMPB AL,#13 ; |256|
B L9,LO ; |256|
; branch occurs ; |256|
L10:
.line 33
MOV *-SP[10],#0 ; |257|
MOV AL,*-SP[10] ; |257|
CMPB AL,#3 ; |257|
B L12,HIS ; |257|
; branch occurs ; |257|
L11:
.line 34
MOV AL,*-SP[10] ; |258|
MOV T,#24
ADDB AL,#1 ; |258|
MOVL XAR5,#_OSTCBTbl ; |258|
MPYU ACC,T,AL ; |258|
MOV T,#24
ADDL XAR5,ACC
MOVL XAR4,#_OSTCBTbl+10 ; |258|
MPYU ACC,T,*-SP[10] ; |258|
ADDL XAR4,ACC
MOVL *+XAR4[0],XAR5 ; |258|
.line 35
INC *-SP[10] ; |259|
MOV AL,*-SP[10] ; |259|
CMPB AL,#3 ; |259|
B L11,LO ; |259|
; branch occurs ; |259|
L12:
.line 36
MOVB ACC,#0
MOVW DP,#_OSTCBTbl+82
MOVL @_OSTCBTbl+82,ACC ; |260|
.line 37
MOVL XAR4,#_OSTCBTbl ; |261|
MOVW DP,#_OSTCBFreeList
MOVL @_OSTCBFreeList,XAR4 ; |261|
.line 40
MOV *-SP[10],#0 ; |264|
MOV AL,*-SP[10] ; |264|
BF L14,NEQ ; |264|
; branch occurs ; |264|
L13:
.line 41
MOVU ACC,*-SP[10]
MOVL XAR5,#_OSEventTbl ; |265|
ADDB ACC,#1 ; |265|
MOVL XAR4,#_OSEventTbl ; |265|
LSL ACC,3 ; |265|
ADDL XAR5,ACC
MOVU ACC,*-SP[10]
LSL ACC,3 ; |265|
ADDL XAR4,ACC
MOVL *+XAR4[0],XAR5 ; |265|
.line 42
INC *-SP[10] ; |266|
MOV AL,*-SP[10] ; |266|
BF L13,EQ ; |266|
; branch occurs ; |266|
L14:
.line 43
MOVB ACC,#0
MOVW DP,#_OSEventTbl+8
MOVL @_OSEventTbl+8,ACC ; |267|
.line 44
MOVL XAR4,#_OSEventTbl ; |268|
MOVW DP,#_OSEventFreeList
MOVL @_OSEventFreeList,XAR4 ; |268|
.line 71
MOVL XAR4,#_OSTaskIdleStk ; |295|
MOVB ACC,#0
MOVL *-SP[2],XAR4 ; |295|
MOV *-SP[3],#12
MOVB XAR5,#0
MOV *-SP[4],#65535 ; |295|
MOVL XAR4,#_OSTaskIdleStk+9 ; |295|
MOVL *-SP[6],XAR4 ; |295|
MOVL *-SP[8],ACC ; |295|
MOV *-SP[9],#3
MOVL XAR4,#_OSTaskIdle ; |295|
MOVB ACC,#10
LCR #_OSTaskCreateExt ; |295|
; call occurs [#_OSTaskCreateExt] ; |295|
.line 98
MOVL XAR4,#_OSTaskStatStk ; |322|
MOVL *-SP[2],XAR4 ; |322|
MOV *-SP[3],#11
MOV *-SP[4],#65534 ; |322|
MOVB ACC,#0
MOVL XAR4,#_OSTaskStatStk+9 ; |322|
MOVL *-SP[6],XAR4 ; |322|
MOVL XAR4,#_OSTaskStat ; |322|
MOVL *-SP[8],ACC ; |322|
MOVB XAR5,#0
MOV *-SP[9],#3
MOVB ACC,#10
LCR #_OSTaskCreateExt ; |322|
; call occurs [#_OSTaskCreateExt] ; |322|
.line 122
SUBB SP,#10
LRETR
; return occurs
.endfunc 346,000000000h,10
.sect ".text"
.global _OSIntEnter
.sym _OSIntEnter,_OSIntEnter, 32, 2, 0
.func 371
;***************************************************************
;* 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 ; |374|
.line 5
CLRC INTM
.line 6
LRETR
; return occurs
.endfunc 376,000000000h,0
.sect ".text"
.global _OSIntExit
.sym _OSIntExit,_OSIntExit, 32, 2, 0
.func 397
;***************************************************************
;* 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 ; |400|
ADDB AL,#-1
MOV @_OSIntNesting,AL ; |400|
MOV AH,@_OSLockNesting ; |400|
OR AH,AL ; |400|
BF L15,NEQ ; |400|
; branch occurs ; |400|
.line 5
MOVZ AR0,@_OSRdyGrp ; |401|
MOVL XAR4,#_OSUnMapTbl ; |401|
MOV AL,*+XAR4[AR0] ; |401|
MOV @_OSIntExitY,AL ; |401|
.line 6
MOVZ AR0,@_OSIntExitY ; |402|
MOVL XAR4,#_OSRdyTbl ; |402|
MOVZ AR0,*+XAR4[AR0] ; |402|
MOV ACC,@_OSIntExitY << #3 ; |402|
MOVL XAR4,#_OSUnMapTbl ; |402|
ADD AL,*+XAR4[AR0] ; |402|
MOV @_OSPrioHighRdy,AL ; |402|
.line 7
MOV AL,@_OSPrioCur ; |403|
CMP AL,@_OSPrioHighRdy ; |403|
BF L15,EQ ; |403|
; branch occurs ; |403|
.line 8
MOVU ACC,@_OSPrioHighRdy
MOVL XAR4,#_OSTCBPrioTbl ; |404|
LSL ACC,1 ; |404|
ADDL XAR4,ACC
MOVL ACC,*+XAR4[0] ; |404|
MOVL @_OSTCBHighRdy,ACC ; |404|
.line 9
MOVL ACC,@_OSCtxSwCtr ; |405|
ADDB ACC,#1 ; |405|
MOVL @_OSCtxSwCtr,ACC ; |405|
.line 10
LCR #_OSIntCtxSw ; |406|
; call occurs [#_OSIntCtxSw] ; |406|
L15:
.line 13
CLRC INTM
.line 14
LRETR
; return occurs
.endfunc 410,000000000h,0
.sect ".text"
.global _OSSched
.sym _OSSched,_OSSched, 32, 2, 0
.func 429
;***************************************************************
;* 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 ; |435|
OR AL,@_OSLockNesting ; |435|
BF L16,NEQ ; |435|
; branch occurs ; |435|
.line 8
MOVZ AR0,@_OSRdyGrp ; |436|
MOVL XAR4,#_OSUnMapTbl ; |436|
MOV AL,*+XAR4[AR0] ; |436|
MOV *-SP[1],AL ; |436|
.line 9
MOVZ AR0,*-SP[1] ; |437|
MOVL XAR4,#_OSRdyTbl ; |437|
MOVZ AR0,*+XAR4[AR0] ; |437|
MOV ACC,*-SP[1] << #3 ; |437|
MOVL XAR4,#_OSUnMapTbl ; |437|
ADD AL,*+XAR4[AR0] ; |437|
MOV @_OSPrioHighRdy,AL ; |437|
.line 10
MOV AL,@_OSPrioCur ; |438|
CMP AL,@_OSPrioHighRdy ; |438|
BF L16,EQ ; |438|
; branch occurs ; |438|
.line 11
MOVU ACC,@_OSPrioHighRdy
MOVL XAR4,#_OSTCBPrioTbl ; |439|
LSL ACC,1 ; |439|
ADDL XAR4,ACC
MOVL ACC,*+XAR4[0] ; |439|
MOVL @_OSTCBHighRdy,ACC ; |439|
.line 12
MOVL ACC,@_OSCtxSwCtr ; |440|
ADDB ACC,#1 ; |440|
MOVL @_OSCtxSwCtr,ACC ; |440|
.line 13
TRAP #31
L16:
.line 16
CLRC INTM
.line 17
SUBB SP,#1
LRETR
; return occurs
.endfunc 445,000000000h,1
.sect ".text"
.global _OSSchedLock
.sym _OSSchedLock,_OSSchedLock, 32, 2, 0
.func 463
;***************************************************************
;* 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 ; |465|
CMPB AL,#1 ; |465|
BF L17,NEQ ; |465|
; branch occurs ; |465|
.line 4
SETC INTM
.line 5
INC @_OSLockNesting ; |467|
.line 6
CLRC INTM
.line 7
L17:
.line 8
LRETR
; return occurs
.endfunc 470,000000000h,0
.sect ".text"
.global _OSSchedUnlock
.sym _OSSchedUnlock,_OSSchedUnlock, 32, 2, 0
.func 487
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -