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

📄 ucos_ii.asm

📁 ucos在2812上的移植,采用的版本为V2.0
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;***************************************************************
;* 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        ; |489| 
        CMPB      AL,#1                 ; |489| 
        BF        L20,NEQ               ; |489| 
        ; branch occurs ; |489| 
	.line	4
    SETC INTM 
	.line	5
        MOV       AL,@_OSLockNesting    ; |491| 
        BF        L19,EQ                ; |491| 
        ; branch occurs ; |491| 
	.line	6
        DEC       @_OSLockNesting       ; |492| 
	.line	7
        MOV       AL,@_OSIntNesting     ; |493| 
        OR        AL,@_OSLockNesting    ; |493| 
        BF        L18,NEQ               ; |493| 
        ; branch occurs ; |493| 
	.line	8
    CLRC INTM 
	.line	9
        LCR       #_OSSched             ; |495| 
        ; call occurs [#_OSSched] ; |495| 
	.line	10
        B         L20,UNC               ; |496| 
        ; branch occurs ; |496| 
L18:    
	.line	11
    CLRC INTM 
	.line	13
        B         L20,UNC               ; |499| 
        ; branch occurs ; |499| 
L19:    
	.line	14
    CLRC INTM 
	.line	16
L20:    
	.line	17
        LRETR
        ; return occurs
	.endfunc	503,000000000h,0



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

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



	.sect	".text"
	.global	_OSStatInit
	.sym	_OSStatInit,_OSStatInit, 32, 2, 0
	.func	561

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

_OSStatInit:
	.line	2
	.line	3
        MOVB      AL,#2                 ; |563| 
        LCR       #_OSTimeDly           ; |563| 
        ; call occurs [#_OSTimeDly] ; |563| 
	.line	4
    SETC INTM 
	.line	5
        MOVW      DP,#_OSIdleCtr
        MOVB      ACC,#0
        MOVL      @_OSIdleCtr,ACC       ; |565| 
	.line	6
    CLRC INTM 
	.line	7
        MOVB      AL,#200               ; |567| 
        LCR       #_OSTimeDly           ; |567| 
        ; call occurs [#_OSTimeDly] ; |567| 
	.line	8
    SETC INTM 
	.line	9
        MOVW      DP,#_OSIdleCtr
        MOVL      ACC,@_OSIdleCtr       ; |569| 
        MOVL      @_OSIdleCtrMax,ACC    ; |569| 
	.line	10
        MOV       @_OSStatRdy,#1
	.line	11
    CLRC INTM 
	.line	12
        LRETR
        ; return occurs
	.endfunc	572,000000000h,0



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

;***************************************************************
;* 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          ; |589| 
	.line	3
        MOVL      ACC,*-SP[2]           ; |590| 
        MOVL      *-SP[2],ACC           ; |590| 
L22:    
	.line	5
    SETC INTM 
	.line	6
        MOVW      DP,#_OSIdleCtr
        MOVL      ACC,@_OSIdleCtr       ; |593| 
        ADDB      ACC,#1                ; |593| 
        MOVL      @_OSIdleCtr,ACC       ; |593| 
	.line	7
    CLRC INTM 
	.line	8
        B         L22,UNC               ; |595| 
        ; branch occurs ; |595| 
	.endfunc	596,000000000h,2



	.sect	".text"
	.global	_OSTaskStat
	.sym	_OSTaskStat,_OSTaskStat, 32, 2, 0
	.func	625

;***************************************************************
;* FNAME: _OSTaskStat                   FR SIZE:   8           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            2 Parameter,  5 Auto,  0 SOE     *
;***************************************************************

_OSTaskStat:
	.line	2
;* AR4   assigned to _pdata
	.sym	_pdata,12, 16, 17, 22
	.sym	_pdata,-4, 16, 1, 22
	.sym	_run,-6, 15, 1, 32
	.sym	_usage,-7, 2, 1, 16
        ADDB      SP,#8
        MOVL      *-SP[4],XAR4          ; |626| 
	.line	7
        MOVL      ACC,*-SP[4]           ; |631| 
        MOVL      *-SP[4],ACC           ; |631| 
	.line	8
        MOVW      DP,#_OSStatRdy
        MOV       AL,@_OSStatRdy        ; |632| 
        BF        L24,NEQ               ; |632| 
        ; branch occurs ; |632| 
L23:    
	.line	9
        MOV       AL,#400               ; |633| 
        LCR       #_OSTimeDly           ; |633| 
        ; call occurs [#_OSTimeDly] ; |633| 
	.line	10
        MOVW      DP,#_OSStatRdy
        MOV       AL,@_OSStatRdy        ; |634| 
        BF        L23,EQ                ; |634| 
        ; branch occurs ; |634| 
L24:    
	.line	12
    SETC INTM 
	.line	13
        MOVW      DP,#_OSIdleCtr
        MOVL      ACC,@_OSIdleCtr       ; |637| 
        MOVL      @_OSIdleCtrRun,ACC    ; |637| 
	.line	14
        MOVL      ACC,@_OSIdleCtr       ; |638| 
        MOVL      *-SP[6],ACC           ; |638| 
	.line	15
        MOVB      ACC,#0
        MOVL      @_OSIdleCtr,ACC       ; |639| 
	.line	16
    CLRC INTM 
	.line	17
        MOVL      ACC,@_OSIdleCtrMax    ; |641| 
        BF        L27,EQ                ; |641| 
        ; branch occurs ; |641| 
	.line	18
        MOVL      ACC,@_OSIdleCtrMax    ; |642| 
        MOVL      *-SP[2],ACC           ; |642| 
        MOVB      ACC,#100
        MOVL      XT,ACC                ; |642| 
        IMPYXUL   P,XT,*-SP[6]          ; |642| 
        MOVL      ACC,P                 ; |642| 
        FFC       XAR7,#UL$$DIV         ; |642| 
        ; call occurs [#UL$$DIV] ; |642| 
        MOVL      XAR6,ACC              ; |642| 
        MOVB      ACC,#100
        SUBL      ACC,XAR6
        MOV       *-SP[7],AL            ; |642| 
	.line	19
        CMPB      AL,#100               ; |643| 
        B         L25,LEQ               ; |643| 
        ; branch occurs ; |643| 
	.line	20
        MOV       @_OSCPUUsage,#100
	.line	21
        B         L28,UNC               ; |645| 
        ; branch occurs ; |645| 
L25:    
        CMPB      AL,#0                 ; |645| 
        B         L26,GEQ               ; |645| 
        ; branch occurs ; |645| 
	.line	22
        MOV       @_OSCPUUsage,#0       ; |646| 
	.line	23
        B         L28,UNC               ; |647| 
        ; branch occurs ; |647| 
L26:    
	.line	24
        MOV       @_OSCPUUsage,AL       ; |648| 
	.line	26
        B         L28,UNC               ; |650| 
        ; branch occurs ; |650| 
L27:    
	.line	27
        MOV       @_OSCPUUsage,#0       ; |651| 
L28:    
	.line	29
        LCR       #_OSTaskStatHook      ; |653| 
        ; call occurs [#_OSTaskStatHook] ; |653| 
	.line	30
        MOVB      AL,#200               ; |654| 
        LCR       #_OSTimeDly           ; |654| 
        ; call occurs [#_OSTimeDly] ; |654| 
	.line	31
        B         L24,UNC               ; |655| 
        ; branch occurs ; |655| 
	.endfunc	656,000000000h,8



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

;***************************************************************
;* FNAME: _OSTCBInit                    FR SIZE:  12           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter, 10 Auto,  2 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,-15, 14, 9, 16
	.sym	_pext,-18, 16, 9, 22
	.sym	_opt,-19, 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
        MOVL      *SP++,XAR1
        ADDB      SP,#10
        MOV       *-SP[7],AH            ; |703| 
        MOVL      *-SP[6],XAR5          ; |703| 
        MOVL      *-SP[4],XAR4          ; |703| 
        MOV       *-SP[1],AL            ; |703| 
	.line	6

⌨️ 快捷键说明

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