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

📄 os_core.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;* FUNCTION DEF: _OSVersion                                    *
;***************************************************************
_OSVersion:
	.line	3
        LD        #270,A                ; |601| 
	.line	4
        RET       ; |602| 
        ; return occurs ; |602| 
	.endfunc	602,000000000h,0


	.sect	".text"
	.global	_OS_Dummy
	.sym	_OS_Dummy,_OS_Dummy, 32, 2, 0
	.func	618

;***************************************************************
;* FUNCTION DEF: _OS_Dummy                                     *
;***************************************************************
_OS_Dummy:
	.line	3
        RET
        ; return occurs
	.endfunc	620,000000000h,0


	.sect	".text"
	.global	_OS_EventTaskRdy
	.sym	_OS_EventTaskRdy,_OS_EventTaskRdy, 46, 2, 0
	.func	646

;***************************************************************
;* FUNCTION DEF: _OS_EventTaskRdy                              *
;***************************************************************
_OS_EventTaskRdy:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_msg,9, 16, 9, 16
	.sym	_msk,10, 14, 9, 16
	.sym	_pevent,0, 24, 1, 16, _os_event
	.sym	_ptcb,1, 24, 1, 16, _os_tcb
	.sym	_x,2, 14, 1, 16
	.sym	_y,3, 14, 1, 16
	.sym	_bitx,4, 14, 1, 16
	.sym	_bity,5, 14, 1, 16
	.sym	_prio,6, 14, 1, 16
        PSHM      AR1
        FRAME     #-7
        NOP
	.line	2
        STL       A,*SP(0)              ; |647| 
	.line	11
        STLM      A,AR1
        NOP
        NOP
        MVDK      *AR1(1),*(AR1)        ; |656| 
        LD        *AR1(_OSUnMapTbl),A   ; |656| 
        STL       A,*SP(3)              ; |656| 
	.line	12
        MVDK      *SP(3),*(AR1)         ; |657| 
        LD        *AR1(_OSMapTbl),A     ; |657| 
        STL       A,*SP(5)              ; |657| 
	.line	13
        MVMD      AR1,AH
        ADD       *SP(0),16,A,A         ; |658| 
        STH       A,*(AR1)              ; |658| 
        NOP
        NOP
        MVDK      *AR1(4),*(AR1)        ; |658| 
        LD        *AR1(_OSUnMapTbl),A   ; |658| 
        STL       A,*SP(2)              ; |658| 
	.line	14
        MVDK      *SP(2),*(AR1)         ; |659| 
        LD        *AR1(_OSMapTbl),A     ; |659| 
        STL       A,*SP(4)              ; |659| 
	.line	15
        LD        *SP(2),A              ; |660| 
        ADD       *SP(3),#3,A,A         ; |660| 
        STL       A,*SP(6)              ; |660| 
	.line	16
        LD        *SP(3),A              ; |661| 
        ADD       *SP(0),A              ; |661| 
        ADD       #4,A,A                ; |661| 
        STLM      A,AR1                 ; |661| 
        LD        *SP(4),A              ; |661| 
        CMPL      A,A                   ; |661| 
        AND       *AR1,A                ; |661| 
        STL       A,*AR1                ; |661| 
	.line	17
        LD        *SP(3),16,A           ; |662| 
        ADD       *SP(0),16,A,A         ; |662| 
        STH       A,*(AR1)              ; |662| 
        NOP
        NOP
        LD        *AR1(4),A             ; |662| 
        BC        L33,ANEQ              ; |662| 
        ; branch occurs ; |662| 
	.line	18
        LD        *SP(5),A              ; |663| 
        MVDK      *SP(0),*(AR1)         ; |663| 
        CMPL      A,A                   ; |663| 
        AND       *AR1(1),A             ; |663| 
        STL       A,*AR1(1)             ; |663| 
L33:    
	.line	20
        MVDK      *SP(6),*(AR1)         ; |665| 
        LD        *AR1(_OSTCBPrioTbl),A ; |665| 
        STL       A,*SP(1)              ; |665| 
	.line	21
        STLM      A,AR1
        NOP
        NOP
        ST        #0,*AR1(14)           ; |666| 
	.line	22
        MVDK      *SP(1),*(AR1)         ; |667| 
        ST        #0,*AR1(10)           ; |667| 
	.line	24
        LD        *SP(9),A              ; |669| 
        MVDK      *SP(1),*(AR1)         ; |669| 
        STL       A,*AR1(11)            ; |669| 
	.line	28
        LD        *SP(10),A             ; |673| 
        MVDK      *SP(1),*(AR1)         ; |673| 
        CMPL      A,A                   ; |673| 
        AND       *AR1(15),A            ; |673| 
        STL       A,*AR1(15)            ; |673| 
	.line	29
        MVDK      *SP(1),*(AR1)         ; |674| 
        LD        *AR1(15),A            ; |674| 
        BC        L34,ANEQ              ; |674| 
        ; branch occurs ; |674| 
	.line	30
        LD        *SP(5),A              ; |675| 
        OR        *(_OSRdyGrp),A        ; |675| 
        STL       A,*(_OSRdyGrp)        ; |675| 
	.line	31
        MVDK      *SP(3),*(AR1)         ; |676| 
        LD        *SP(4),A              ; |676| 
        OR        *AR1(_OSRdyTbl),A     ; |676| 
        STL       A,*AR1(_OSRdyTbl)     ; |676| 
L34:    
	.line	33
        LD        *SP(6),A              ; |678| 
	.line	34
        FRAME     #7                    ; |679| 
        POPM      AR1                   ; |679| 
        RET       ; |679| 
        ; return occurs ; |679| 
	.endfunc	679,000000400h,8


	.sect	".text"
	.global	_OS_EventTaskWait
	.sym	_OS_EventTaskWait,_OS_EventTaskWait, 32, 2, 0
	.func	697

;***************************************************************
;* FUNCTION DEF: _OS_EventTaskWait                             *
;***************************************************************
_OS_EventTaskWait:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_pevent,0, 24, 1, 16, _os_event
	.sym	_y,1, 14, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |698| 
	.line	6
        MVDM      *(_OSTCBCur),AR1      ; |702| 
        NOP
        STL       A,*AR1(10)            ; |702| 
	.line	7
        MVDM      *(_OSTCBCur),AR1      ; |703| 
        NOP
        LD        *AR1(18),A            ; |703| 
        STL       A,*SP(1)              ; |703| 
	.line	8
        MVDM      *(_OSTCBCur),AR2      ; |704| 
        NOP
        LD        *AR2(19),A            ; |704| 
        MVDK      *SP(1),*(AR1)         ; |704| 
        CMPL      A,A                   ; |704| 
        AND       *AR1(_OSRdyTbl),A     ; |704| 
        STL       A,*AR1(_OSRdyTbl)     ; |704| 
	.line	9
        MVDK      *SP(1),*(AR1)         ; |705| 
        LD        *AR1(_OSRdyTbl),A     ; |705| 
        BC        L35,ANEQ              ; |705| 
        ; branch occurs ; |705| 
	.line	10
        MVMM      AR2,AR1
        LD        *AR1(20),A            ; |706| 
        CMPL      A,A                   ; |706| 
        AND       *(_OSRdyGrp),A        ; |706| 
        STL       A,*(_OSRdyGrp)        ; |706| 
L35:    
	.line	12
        MVDM      *(_OSTCBCur),AR1      ; |708| 
        NOP
        LD        *AR1(18),A            ; |708| 
        MVDM      *(_OSTCBCur),AR2      ; |708| 
        ADD       *SP(0),A              ; |708| 
        ADD       #4,A,A                ; |708| 
        STLM      A,AR1                 ; |708| 
        LD        *AR2(19),A            ; |708| 
        OR        *AR1,A                ; |708| 
        STL       A,*AR1                ; |708| 
	.line	13
        MVDM      *(_OSTCBCur),AR2      ; |709| 
        MVDK      *SP(0),*(AR1)         ; |709| 
        LD        *AR2(20),A            ; |709| 
        OR        *AR1(1),A             ; |709| 
        STL       A,*AR1(1)             ; |709| 
	.line	14
        FRAME     #2
        POPM      AR1
        RET
        ; return occurs
	.endfunc	710,000000400h,3


	.sect	".text"
	.global	_OS_EventTO
	.sym	_OS_EventTO,_OS_EventTO, 32, 2, 0
	.func	728

;***************************************************************
;* FUNCTION DEF: _OS_EventTO                                   *
;***************************************************************
_OS_EventTO:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_pevent,0, 24, 1, 16, _os_event
	.sym	_y,1, 14, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |729| 
	.line	6
        MVDM      *(_OSTCBCur),AR1      ; |733| 
        NOP
        LD        *AR1(18),A            ; |733| 
	.line	7
        MVDM      *(_OSTCBCur),AR2      ; |734| 
        STL       A,*SP(1)              ; 
        ADD       *SP(0),A              ; |734| 
        ADD       #4,A,A                ; |734| 
        STLM      A,AR1                 ; |734| 
        LD        *AR2(19),A            ; |734| 
        CMPL      A,A                   ; |734| 
        AND       *AR1,A                ; |734| 
        STL       A,*AR1                ; |734| 
	.line	8
        LD        *SP(1),16,A           ; |735| 
        ADD       *SP(0),16,A,A         ; |735| 
        STH       A,*(AR1)              ; |735| 
        NOP
        NOP
        LD        *AR1(4),A             ; |735| 
        BC        L36,ANEQ              ; |735| 
        ; branch occurs ; |735| 
	.line	9
        MVDM      *(_OSTCBCur),AR2      ; |736| 
        MVDK      *SP(0),*(AR1)         ; |736| 
        LD        *AR2(20),A            ; |736| 
        CMPL      A,A                   ; |736| 
        AND       *AR1(1),A             ; |736| 
        STL       A,*AR1(1)             ; |736| 
L36:    
	.line	11
        MVDM      *(_OSTCBCur),AR1      ; |738| 
        NOP
        ST        #0,*AR1(15)           ; |738| 
	.line	12
        MVDM      *(_OSTCBCur),AR1      ; |739| 
        NOP
        ST        #0,*AR1(10)           ; |739| 
	.line	13
        FRAME     #2
        POPM      AR1
        RET
        ; return occurs
	.endfunc	740,000000400h,3


	.sect	".text"
	.global	_OS_EventWaitListInit
	.sym	_OS_EventWaitListInit,_OS_EventWaitListInit, 32, 2, 0
	.func	757

;***************************************************************
;* FUNCTION DEF: _OS_EventWaitListInit                         *
;***************************************************************
_OS_EventWaitListInit:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_pevent,0, 24, 1, 16, _os_event
	.sym	_ptbl,1, 30, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |758| 
	.line	6
        STLM      A,AR1
        NOP
        NOP
        ST        #0,*AR1(1)            ; |762| 
	.line	7
        LD        #4,A                  ; |763| 
        ADD       *SP(0),A              ; |763| 
        STL       A,*SP(1)              ; |763| 
	.line	10
        STLM      A,AR1
        NOP
        LDM       AR1,A                 ; |766| 
        ADD       #1,A,A                ; |766| 
        STL       A,*SP(1)              ; |766| 
        ST        #0,*AR1               ; |766| 
	.line	14
        MVDK      *SP(1),*(AR1)         ; |770| 
        LDM       AR1,A                 ; |770| 
        ADD       #1,A,A                ; |770| 
        STL       A,*SP(1)              ; |770| 
        ST        #0,*AR1               ; |770| 
	.line	18
        MVDK      *SP(1),*(AR1)         ; |774| 
        LDM       AR1,A                 ; |774| 
        ADD       #1,A,A                ; |774| 
        STL       A,*SP(1)              ; |774| 
        ST        #0,*AR1               ; |774| 
	.line	22
        MVDK      *SP(1),*(AR1)         ; |778| 
        LDM       AR1,A                 ; |778| 
        ADD       #1,A,A                ; |778| 
        STL       A,*SP(1)              ; |778| 
        ST        #0,*AR1               ; |778| 
	.line	26
        MVDK      *SP(1),*(AR1)         ; |782| 
        LDM       AR1,A                 ; |782| 
        ADD       #1,A,A                ; |782| 
        STL       A,*SP(1)              ; |782| 
        ST        #0,*AR1               ; |782| 
	.line	30
        MVDK      *SP(1),*(AR1)         ; |786| 
        LDM       AR1,A                 ; |786| 
        ADD       #1,A,A                ; |786| 
        STL       A,*SP(1)              ; |786| 
        ST        #0,*AR1               ; |786| 
	.line	34
        MVDK      *SP(1),*(AR1)         ; |790| 
        LDM       AR1,A                 ; |790| 
        ADD       #1,A,A                ; |790| 
        STL       A,*SP(1)              ; |790| 
        ST        #0,*AR1               ; |790| 
	.line	38
        MVDK      *SP(1),*(AR1)         ; |794| 
        ST        #0,*AR1               ; |794| 
	.line	40
        FRAME     #2
        POPM      AR1
        RET
        ; return occurs
	.endfunc	796,000000400h,3


	.sect	".text"
	.sym	_OS_InitEventList,_OS_InitEventList, 32, 3, 0
	.func	812

;***************************************************************
;* FUNCTION DEF: _OS_InitEventList                             *
;***************************************************************
_OS_InitEventList:
	.sym	_i,2, 14, 1, 16
	.sym	_pevent1,3, 24, 1, 16, _os_event
	.sym	_pevent2,4, 24, 1, 16, _os_event
        PSHM      AR1
        FRAME     #-6
        NOP
	.line	10
        ST        #440,*SP(0)           ; |821| 
        CALLD     #_OS_MemClr           ; |821| 
        LD        #_OSEventTbl,A        ; |821| 
        ; call occurs [#_OS_MemClr] ; |821| 
	.line	11

⌨️ 快捷键说明

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