⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucos_ii.asm

📁 《uC/os-II 内核分析.移植与驱动程序开发》随书光盘中的全部源代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.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 + -