📄 ucos_ii.asm
字号:
.sym _pevent,12, 24, 17, 22, $$fake0
;* AR5 assigned to _msg
.sym _msg,14, 16, 17, 22
;* AL assigned to _msk
.sym _msk,0, 12, 17, 16
.sym _pevent,-2, 24, 1, 22, $$fake0
.sym _msg,-4, 16, 1, 22
.sym _msk,-5, 12, 1, 16
.sym _ptcb,-8, 24, 1, 22, _os_tcb
.sym _x,-9, 12, 1, 16
.sym _y,-10, 12, 1, 16
.sym _bitx,-11, 12, 1, 16
.sym _bity,-12, 12, 1, 16
.sym _prio,-13, 12, 1, 16
ADDB SP,#14
MOV *-SP[5],AL ; |103|
MOVL *-SP[4],XAR5 ; |103|
MOVL *-SP[2],XAR4 ; |103|
.line 11
MOVL XAR4,*-SP[2] ; |112|
MOVB XAR0,#12 ; |112|
MOVZ AR0,*+XAR4[AR0] ; |112|
MOVL XAR4,#_OSUnMapTbl ; |112|
MOV AL,*+XAR4[AR0] ; |112|
MOV *-SP[10],AL ; |112|
.line 12
MOVZ AR0,*-SP[10] ; |113|
MOVL XAR4,#_OSMapTbl ; |113|
MOV AL,*+XAR4[AR0] ; |113|
MOV *-SP[12],AL ; |113|
.line 13
MOVZ AR6,*-SP[10] ; |114|
MOVL ACC,*-SP[2] ; |114|
ADDU ACC,AR6 ; |114|
MOVL XAR4,ACC ; |114|
MOVZ AR0,*+XAR4[2] ; |114|
MOVL XAR4,#_OSUnMapTbl ; |114|
MOV AL,*+XAR4[AR0] ; |114|
MOV *-SP[9],AL ; |114|
.line 14
MOVZ AR0,*-SP[9] ; |115|
MOVL XAR4,#_OSMapTbl ; |115|
MOV AL,*+XAR4[AR0] ; |115|
MOV *-SP[11],AL ; |115|
.line 15
MOV ACC,*-SP[10] << #3 ; |116|
ADD AL,*-SP[9] ; |116|
MOV *-SP[13],AL ; |116|
.line 16
MOVZ AR6,*-SP[10] ; |117|
MOVL ACC,*-SP[2] ; |117|
ADDU ACC,AR6 ; |117|
ADDB ACC,#2 ; |117|
MOVL XAR4,ACC ; |117|
MOV AL,*-SP[11] ; |117|
NOT AL ; |117|
AND AL,*+XAR4[0] ; |117|
MOV *+XAR4[0],AL ; |117|
BF L1,NEQ ; |117|
; branch occurs ; |117|
.line 17
MOVL XAR4,*-SP[2] ; |118|
MOV AL,*-SP[12] ; |118|
NOT AL ; |118|
ADDB XAR4,#12 ; |118|
AND *+XAR4[0],AL ; |118|
L1:
.line 19
MOVU ACC,*-SP[13]
MOVL XAR4,#_OSTCBPrioTbl ; |120|
LSL ACC,1 ; |120|
ADDL XAR4,ACC
MOVL ACC,*+XAR4[0] ; |120|
MOVL *-SP[8],ACC ; |120|
.line 20
MOVL XAR4,*-SP[8] ; |121|
MOVB XAR0,#8 ; |121|
MOV *+XAR4[AR0],#0 ; |121|
.line 21
MOVL XAR4,*-SP[8] ; |122|
MOVB ACC,#0
MOVL *+XAR4[6],ACC ; |122|
.line 25
MOVL ACC,*-SP[4] ; |126|
MOVL *-SP[4],ACC ; |126|
.line 27
MOVL XAR4,*-SP[8] ; |128|
MOV AL,*-SP[5] ; |128|
NOT AL ; |128|
ADDB XAR4,#9 ; |128|
AND *+XAR4[0],AL ; |128|
.line 28
MOVL XAR4,*-SP[8] ; |129|
MOVB XAR0,#9 ; |129|
MOV AL,*+XAR4[AR0] ; |129|
BF L2,NEQ ; |129|
; branch occurs ; |129|
.line 29
MOVW DP,#_OSRdyGrp
MOV AL,*-SP[12] ; |130|
OR @_OSRdyGrp,AL ; |130|
.line 30
MOVZ AR6,*-SP[10] ; |131|
MOVL XAR4,#_OSRdyTbl ; |131|
MOVL ACC,XAR4 ; |131|
ADDU ACC,AR6 ; |131|
MOVL XAR4,ACC ; |131|
MOV AL,*-SP[11] ; |131|
OR *+XAR4[0],AL ; |131|
.line 31
L2:
.line 32
SUBB SP,#14
LRETR
; return occurs
.endfunc 133,000000000h,14
.sect ".text"
.global _OSEventTaskWait
.sym _OSEventTaskWait,_OSEventTaskWait, 32, 2, 0
.func 151
;***************************************************************
;* FNAME: _OSEventTaskWait FR SIZE: 2 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 2 Auto, 0 SOE *
;***************************************************************
_OSEventTaskWait:
.line 2
;* AR4 assigned to _pevent
.sym _pevent,12, 24, 17, 22, $$fake0
.sym _pevent,-2, 24, 1, 22, $$fake0
ADDB SP,#2
MOVL *-SP[2],XAR4 ; |152|
.line 3
MOVW DP,#_OSTCBCur
MOVL XAR4,@_OSTCBCur ; |153|
MOVL ACC,*-SP[2] ; |153|
MOVL *+XAR4[6],ACC ; |153|
.line 4
MOVL XAR4,@_OSTCBCur ; |154|
MOVB XAR0,#12 ; |154|
MOVZ AR6,*+XAR4[AR0] ; |154|
MOVL XAR5,@_OSTCBCur ; |154|
MOVL XAR4,#_OSRdyTbl ; |154|
MOVL ACC,XAR4 ; |154|
ADDU ACC,AR6 ; |154|
MOVL XAR4,ACC ; |154|
MOVB XAR0,#13 ; |154|
MOV AL,*+XAR5[AR0] ; |154|
NOT AL ; |154|
AND AL,*+XAR4[0] ; |154|
MOV *+XAR4[0],AL ; |154|
BF L3,NEQ ; |154|
; branch occurs ; |154|
.line 5
MOVL XAR4,@_OSTCBCur ; |155|
MOVB XAR0,#14 ; |155|
MOV AL,*+XAR4[AR0] ; |155|
NOT AL ; |155|
AND @_OSRdyGrp,AL ; |155|
L3:
.line 7
MOVL XAR4,@_OSTCBCur ; |157|
MOVB XAR0,#12 ; |157|
MOVZ AR6,*+XAR4[AR0] ; |157|
MOVL ACC,*-SP[2] ; |157|
ADDU ACC,AR6 ; |157|
MOVL XAR4,@_OSTCBCur ; |157|
ADDB ACC,#2 ; |157|
MOVL XAR5,ACC ; |157|
MOVB XAR0,#13 ; |157|
MOV AL,*+XAR4[AR0] ; |157|
OR *+XAR5[0],AL ; |157|
.line 8
MOVL XAR4,*-SP[2] ; |158|
MOVL XAR5,@_OSTCBCur ; |158|
MOVB XAR0,#14 ; |158|
ADDB XAR4,#12 ; |158|
MOV AL,*+XAR5[AR0] ; |158|
OR *+XAR4[0],AL ; |158|
.line 9
SUBB SP,#2
LRETR
; return occurs
.endfunc 159,000000000h,2
.sect ".text"
.global _OSEventTO
.sym _OSEventTO,_OSEventTO, 32, 2, 0
.func 177
;***************************************************************
;* FNAME: _OSEventTO FR SIZE: 2 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 2 Auto, 0 SOE *
;***************************************************************
_OSEventTO:
.line 2
;* AR4 assigned to _pevent
.sym _pevent,12, 24, 17, 22, $$fake0
.sym _pevent,-2, 24, 1, 22, $$fake0
ADDB SP,#2
MOVL *-SP[2],XAR4 ; |178|
.line 3
MOVW DP,#_OSTCBCur
MOVL XAR4,@_OSTCBCur ; |179|
MOVB XAR0,#12 ; |179|
MOVZ AR6,*+XAR4[AR0] ; |179|
MOVL ACC,*-SP[2] ; |179|
MOVL XAR5,@_OSTCBCur ; |179|
ADDU ACC,AR6 ; |179|
ADDB ACC,#2 ; |179|
MOVL XAR4,ACC ; |179|
MOVB XAR0,#13 ; |179|
MOV AL,*+XAR5[AR0] ; |179|
NOT AL ; |179|
AND AL,*+XAR4[0] ; |179|
MOV *+XAR4[0],AL ; |179|
BF L4,NEQ ; |179|
; branch occurs ; |179|
.line 4
MOVL XAR5,@_OSTCBCur ; |180|
MOVL XAR4,*-SP[2] ; |180|
MOVB XAR0,#14 ; |180|
MOV AL,*+XAR5[AR0] ; |180|
ADDB XAR4,#12 ; |180|
NOT AL ; |180|
AND *+XAR4[0],AL ; |180|
L4:
.line 6
MOVL XAR4,@_OSTCBCur ; |182|
MOVB XAR0,#9 ; |182|
MOV *+XAR4[AR0],#0 ; |182|
.line 7
MOVL XAR4,@_OSTCBCur ; |183|
MOVB ACC,#0
MOVL *+XAR4[6],ACC ; |183|
.line 8
SUBB SP,#2
LRETR
; return occurs
.endfunc 184,000000000h,2
.sect ".text"
.global _OSEventWaitListInit
.sym _OSEventWaitListInit,_OSEventWaitListInit, 32, 2, 0
.func 201
;***************************************************************
;* FNAME: _OSEventWaitListInit FR SIZE: 4 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 3 Auto, 0 SOE *
;***************************************************************
_OSEventWaitListInit:
.line 2
;* AR4 assigned to _pevent
.sym _pevent,12, 24, 17, 22, $$fake0
.sym _pevent,-2, 24, 1, 22, $$fake0
.sym _i,-3, 12, 1, 16
ADDB SP,#4
MOVL *-SP[2],XAR4 ; |202|
.line 6
MOVL XAR4,*-SP[2] ; |206|
MOVB XAR0,#12 ; |206|
MOV *+XAR4[AR0],#0 ; |206|
.line 7
MOV *-SP[3],#0 ; |207|
MOV AL,*-SP[3] ; |207|
CMPB AL,#8 ; |207|
B L6,HIS ; |207|
; branch occurs ; |207|
L5:
.line 8
MOVZ AR6,*-SP[3] ; |208|
MOVL ACC,*-SP[2] ; |208|
ADDU ACC,AR6 ; |208|
MOVL XAR4,ACC ; |208|
MOV *+XAR4[2],#0 ; |208|
.line 9
INC *-SP[3] ; |209|
MOV AL,*-SP[3] ; |209|
CMPB AL,#8 ; |209|
B L5,LO ; |209|
; branch occurs ; |209|
L6:
.line 10
SUBB SP,#4
LRETR
; return occurs
.endfunc 210,000000000h,4
.sect ".text"
.global _OSInit
.sym _OSInit,_OSInit, 32, 2, 0
.func 226
;***************************************************************
;* FNAME: _OSInit FR SIZE: 4 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 2 Parameter, 1 Auto, 0 SOE *
;***************************************************************
_OSInit:
.line 2
.sym _i,-3, 14, 1, 16
ADDB SP,#4
.line 6
MOVB ACC,#0
MOVW DP,#_OSTime
MOVL @_OSTime,ACC ; |231|
.line 7
MOV @_OSIntNesting,#0 ; |232|
.line 8
MOV @_OSLockNesting,#0 ; |233|
.line 10
MOV @_OSTaskCtr,#0 ; |235|
.line 12
MOV @_OSRunning,#0 ; |237|
.line 13
MOVL @_OSIdleCtr,ACC ; |238|
.line 19
MOVL @_OSCtxSwCtr,ACC ; |244|
.line 20
MOV @_OSRdyGrp,#0 ; |245|
.line 21
MOV *-SP[3],#0 ; |246|
MOV AL,*-SP[3] ; |246|
CMPB AL,#8 ; |246|
B L8,HIS ; |246|
; branch occurs ; |246|
L7:
.line 22
MOVZ AR0,*-SP[3] ; |247|
MOVL XAR4,#_OSRdyTbl ; |247|
MOV *+XAR4[AR0],#0 ; |247|
.line 23
INC *-SP[3] ; |248|
MOV AL,*-SP[3] ; |248|
CMPB AL,#8 ; |248|
B L7,LO ; |248|
; branch occurs ; |248|
L8:
.line 25
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -