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

📄 ucos_ii.asm

📁 《uC/os-II 内核分析.移植与驱动程序开发》随书光盘中的全部源代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
    CLRC INTM 
	.line	16
L20:    
	.line	17
        LRETR
        ; return occurs
	.endfunc	504,000000000h,0



	.sect	".text"
	.global	_OSStart
	.sym	_OSStart,_OSStart, 32, 2, 0
	.func	524

;***************************************************************
;* FNAME: _OSStart                      FR SIZE:   2           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  2 Auto,  0 SOE     *
;***************************************************************

_OSStart:
	.line	2
	.sym	_y,-1, 12, 1, 16
	.sym	_x,-2, 12, 1, 16
        ADDB      SP,#2
	.line	7
        MOVW      DP,#_OSRunning
        MOV       AL,@_OSRunning        ; |530| 
        BF        L21,NEQ               ; |530| 
        ; branch occurs ; |530| 
	.line	8
        MOVZ      AR0,@_OSRdyGrp        ; |531| 
        MOVL      XAR4,#_OSUnMapTbl     ; |531| 
        MOV       AL,*+XAR4[AR0]        ; |531| 
        MOV       *-SP[1],AL            ; |531| 
	.line	9
        MOVZ      AR0,*-SP[1]           ; |532| 
        MOVL      XAR4,#_OSRdyTbl       ; |532| 
        MOVZ      AR0,*+XAR4[AR0]       ; |532| 
        MOVL      XAR4,#_OSUnMapTbl     ; |532| 
        MOV       AL,*+XAR4[AR0]        ; |532| 
        MOV       *-SP[2],AL            ; |532| 
	.line	10
        MOV       ACC,*-SP[1] << #3     ; |533| 
        ADD       AL,*-SP[2]            ; |533| 
        MOV       @_OSPrioHighRdy,AL    ; |533| 
	.line	11
        MOV       @_OSPrioCur,AL        ; |534| 
	.line	12
        MOVU      ACC,@_OSPrioHighRdy
        MOVL      XAR4,#_OSTCBPrioTbl   ; |535| 
        LSL       ACC,1                 ; |535| 
        ADDL      XAR4,ACC
        MOVL      ACC,*+XAR4[0]         ; |535| 
        MOVL      @_OSTCBHighRdy,ACC    ; |535| 
	.line	13
        MOVL      ACC,@_OSTCBHighRdy    ; |536| 
        MOVL      @_OSTCBCur,ACC        ; |536| 
	.line	14
        LCR       #_OSStartHighRdy      ; |537| 
        ; call occurs [#_OSStartHighRdy] ; |537| 
	.line	15
L21:    
	.line	16
        SUBB      SP,#2
        LRETR
        ; return occurs
	.endfunc	539,000000000h,2



	.sect	".text"
	.global	_OSTaskIdle
	.sym	_OSTaskIdle,_OSTaskIdle, 32, 2, 0
	.func	589

;***************************************************************
;* FNAME: _OSTaskIdle                   FR SIZE:   2           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  2 Auto,  0 SOE     *
;***************************************************************

_OSTaskIdle:
	.line	2
;* AR4   assigned to _pdata
	.sym	_pdata,12, 16, 17, 22
	.sym	_pdata,-2, 16, 1, 22
        ADDB      SP,#2
        MOVL      *-SP[2],XAR4          ; |590| 
	.line	3
        MOVL      ACC,*-SP[2]           ; |591| 
        MOVL      *-SP[2],ACC           ; |591| 
L22:    
	.line	5
    SETC INTM 
	.line	6
        MOVW      DP,#_OSIdleCtr
        MOVL      ACC,@_OSIdleCtr       ; |594| 
        ADDB      ACC,#1                ; |594| 
        MOVL      @_OSIdleCtr,ACC       ; |594| 
	.line	7
    CLRC INTM 
	.line	8
        B         L22,UNC               ; |596| 
        ; branch occurs ; |596| 
	.endfunc	597,000000000h,2



	.sect	".text"
	.global	_OSTCBInit
	.sym	_OSTCBInit,_OSTCBInit, 44, 2, 0
	.func	703

;***************************************************************
;* FNAME: _OSTCBInit                    FR SIZE:  10           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter, 10 Auto,  0 SOE     *
;***************************************************************

_OSTCBInit:
	.line	2
;* AL    assigned to _prio
	.sym	_prio,0, 12, 17, 16
;* AR4   assigned to _ptos
	.sym	_ptos,12, 30, 17, 22
;* AR5   assigned to _pbos
	.sym	_pbos,14, 30, 17, 22
;* AH    assigned to _id
	.sym	_id,1, 14, 17, 16
	.sym	_stk_size,-13, 14, 9, 16
	.sym	_pext,-16, 16, 9, 22
	.sym	_opt,-17, 14, 9, 16
	.sym	_prio,-1, 12, 1, 16
	.sym	_ptos,-4, 30, 1, 22
	.sym	_pbos,-6, 30, 1, 22
	.sym	_id,-7, 14, 1, 16
	.sym	_ptcb,-10, 24, 1, 22, _os_tcb
        ADDB      SP,#10
        MOV       *-SP[7],AH            ; |704| 
        MOVL      *-SP[6],XAR5          ; |704| 
        MOVL      *-SP[4],XAR4          ; |704| 
        MOV       *-SP[1],AL            ; |704| 
	.line	6
    SETC INTM 
	.line	7
        MOVW      DP,#_OSTCBFreeList
        MOVL      ACC,@_OSTCBFreeList   ; |709| 
        MOVL      *-SP[10],ACC          ; |709| 
	.line	8
        MOVL      ACC,*-SP[10]          ; |710| 
        BF        L24,EQ                ; |710| 
        ; branch occurs ; |710| 
	.line	9
        MOVL      XAR4,*-SP[10]         ; |711| 
        MOVL      ACC,*+XAR4[2]         ; |711| 
        MOVL      @_OSTCBFreeList,ACC   ; |711| 
	.line	10
    CLRC INTM 
	.line	11
        MOVL      XAR4,*-SP[10]         ; |713| 
        MOVL      ACC,*-SP[4]           ; |713| 
        MOVL      *+XAR4[0],ACC         ; |713| 
	.line	12
        MOVL      XAR4,*-SP[10]         ; |714| 
        MOVB      XAR0,#10              ; |714| 
        MOV       AL,*-SP[1]            ; |714| 
        MOV       *+XAR4[AR0],AL        ; |714| 
	.line	13
        MOVL      XAR4,*-SP[10]         ; |715| 
        MOVB      XAR0,#9               ; |715| 
        MOV       *+XAR4[AR0],#0        ; |715| 
	.line	14
        MOVL      XAR4,*-SP[10]         ; |716| 
        MOVB      XAR0,#8               ; |716| 
        MOV       *+XAR4[AR0],#0        ; |716| 
	.line	23
        MOVL      ACC,*-SP[16]          ; |725| 
        MOVL      *-SP[16],ACC          ; |725| 
	.line	24
	.line	25
        MOVL      ACC,*-SP[6]           ; |727| 
        MOVL      *-SP[6],ACC           ; |727| 
	.line	26
	.line	27
	.line	34
        MOVL      XAR4,*-SP[10]         ; |736| 
        MOV       AL,*-SP[1]            ; |736| 
        LSR       AL,3                  ; |736| 
        MOVB      XAR0,#12              ; |736| 
        MOV       *+XAR4[AR0],AL        ; |736| 
	.line	35
        MOVL      XAR4,*-SP[10]         ; |737| 
        MOVZ      AR0,*+XAR4[AR0]       ; |737| 
        MOVL      XAR4,#_OSMapTbl       ; |737| 
        MOV       AL,*+XAR4[AR0]        ; |737| 
        MOVL      XAR4,*-SP[10]         ; |737| 
        MOVB      XAR0,#14              ; |737| 
        MOV       *+XAR4[AR0],AL        ; |737| 
	.line	36
        MOVL      XAR4,*-SP[10]         ; |738| 
        MOV       AL,*-SP[1]            ; |738| 
        MOVB      XAR0,#11              ; |738| 
        ANDB      AL,#0x07              ; |738| 
        MOV       *+XAR4[AR0],AL        ; |738| 
	.line	37
        MOVL      XAR4,*-SP[10]         ; |739| 
        MOVZ      AR0,*+XAR4[AR0]       ; |739| 
        MOVL      XAR4,#_OSMapTbl       ; |739| 
        MOV       AL,*+XAR4[AR0]        ; |739| 
        MOVL      XAR4,*-SP[10]         ; |739| 
        MOVB      XAR0,#13              ; |739| 
        MOV       *+XAR4[AR0],AL        ; |739| 
	.line	40
        MOVL      XAR4,*-SP[10]         ; |742| 
        MOVB      ACC,#0
        MOVL      *+XAR4[6],ACC         ; |742| 
	.line	47
    SETC INTM 
	.line	48
        MOVU      ACC,*-SP[1]
        LSL       ACC,1                 ; |750| 
        MOVL      XAR4,#_OSTCBPrioTbl   ; |750| 
        ADDL      XAR4,ACC
        MOVL      ACC,*-SP[10]          ; |750| 
        MOVL      *+XAR4[0],ACC         ; |750| 
	.line	49
        MOVL      XAR4,*-SP[10]         ; |751| 
        MOVL      ACC,@_OSTCBList       ; |751| 
        MOVL      *+XAR4[2],ACC         ; |751| 
	.line	50
        MOVL      XAR4,*-SP[10]         ; |752| 
        MOVB      ACC,#0
        MOVL      *+XAR4[4],ACC         ; |752| 
	.line	51
        MOVL      ACC,@_OSTCBList       ; |753| 
        BF        L23,EQ                ; |753| 
        ; branch occurs ; |753| 
	.line	52
        MOVL      XAR4,@_OSTCBList      ; |754| 
        MOVL      ACC,*-SP[10]          ; |754| 
        MOVL      *+XAR4[4],ACC         ; |754| 
L23:    
	.line	54
        MOVL      ACC,*-SP[10]          ; |756| 
        MOVL      @_OSTCBList,ACC       ; |756| 
	.line	55
        MOVL      XAR4,*-SP[10]         ; |757| 
        MOVB      XAR0,#14              ; |757| 
        MOV       AL,*+XAR4[AR0]        ; |757| 
        OR        @_OSRdyGrp,AL         ; |757| 
	.line	56
        MOVL      XAR4,*-SP[10]         ; |758| 
        MOVB      XAR0,#12              ; |758| 
        MOVZ      AR6,*+XAR4[AR0]       ; |758| 
        MOVL      XAR5,*-SP[10]         ; |758| 
        MOVL      XAR4,#_OSRdyTbl       ; |758| 
        MOVL      ACC,XAR4              ; |758| 
        ADDU      ACC,AR6               ; |758| 
        MOVL      XAR4,ACC              ; |758| 
        MOVB      XAR0,#13              ; |758| 
        MOV       AL,*+XAR5[AR0]        ; |758| 
        OR        *+XAR4[0],AL          ; |758| 
	.line	57
    CLRC INTM 
	.line	58
        MOVB      AL,#0
        B         L25,UNC               ; |760| 
        ; branch occurs ; |760| 
L24:    
	.line	60
    CLRC INTM 
	.line	61
        MOVB      AL,#70                ; |763| 
L25:    
	.line	63
        SUBB      SP,#10                ; |763| 
        LRETR
        ; return occurs
	.endfunc	765,000000000h,10



	.sect	".text"
	.global	_OSTimeTick
	.sym	_OSTimeTick,_OSTimeTick, 32, 2, 0
	.func	781

;***************************************************************
;* FNAME: _OSTimeTick                   FR SIZE:   0           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  0 Auto,  0 SOE     *
;***************************************************************

_OSTimeTick:
	.line	2
	.line	7
        LCR       #_OSTimeTickHook      ; |787| 
        ; call occurs [#_OSTimeTickHook] ; |787| 
	.line	8
        MOVW      DP,#_OSTCBList
        MOVL      ACC,@_OSTCBList       ; |788| 
        MOVL      @_OS_TempPtcb,ACC     ; |788| 
	.line	9
        B         L29,UNC               ; |789| 
        ; branch occurs ; |789| 
L26:    
	.line	10
    SETC INTM 
	.line	11
        MOVL      XAR4,@_OS_TempPtcb    ; |791| 
        MOVB      XAR0,#8               ; |791| 
        MOV       AL,*+XAR4[AR0]        ; |791| 
        BF        L28,EQ                ; |791| 
        ; branch occurs ; |791| 
	.line	12
        MOVL      XAR4,@_OS_TempPtcb    ; |792| 
        ADDB      XAR4,#8               ; |792| 
        DEC       *+XAR4[0]
        BF        L28,NEQ               ; |792| 
        ; branch occurs ; |792| 
	.line	13
        MOVL      XAR4,@_OS_TempPtcb    ; |793| 
        MOVB      XAR0,#9               ; |793| 
        TBIT      *+XAR4[AR0],#3        ; |793| 
        BF        L27,TC                ; |793| 
        ; branch occurs ; |793| 
	.line	14
        MOVL      XAR4,@_OS_TempPtcb    ; |794| 
        MOVB      XAR0,#14              ; |794| 
        MOV       AL,*+XAR4[AR0]        ; |794| 
        OR        @_OSRdyGrp,AL         ; |794| 
	.line	15
        MOVL      XAR4,@_OS_TempPtcb    ; |795| 
        MOVB      XAR0,#12              ; |795| 
        MOVZ      AR6,*+XAR4[AR0]       ; |795| 
        MOVL      XAR4,#_OSRdyTbl       ; |795| 
        MOVL      ACC,XAR4              ; |795| 
        MOVL      XAR5,@_OS_TempPtcb    ; |795| 
        ADDU      ACC,AR6               ; |795| 
        MOVL      XAR4,ACC              ; |795| 
        MOVB      XAR0,#13              ; |795| 
        MOV       AL,*+XAR5[AR0]        ; |795| 
        OR        *+XAR4[0],AL          ; |795| 
	.line	16
        B         L28,UNC               ; |796| 
        ; branch occurs ; |796| 
L27:    
	.line	17
        MOVL      XAR4,@_OS_TempPtcb    ; |797| 
        MOVB      XAR0,#8               ; |797| 
        MOV       *+XAR4[AR0],#1
L28:    
	.line	21

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -