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

📄 os_core.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        ST        #_OSEventTbl,*SP(3)   ; |822| 
	.line	12
        ST        #_OSEventTbl+44,*SP(4) ; |823| 
	.line	13
        ST        #0,*SP(2)             ; |824| 
        STM       #9,AR0                ; |824| 
        MVDK      *SP(2),*(AR1)         ; |824| 
        CMPR      1,AR1                 ; |824| 
        BC        L38,NTC               ; |824| 
        ; branch occurs ; |824| 
L37:    
	.line	14
        MVDK      *SP(3),*(AR1)         ; |825| 
        ST        #0,*AR1               ; |825| 
	.line	15
        LD        *SP(4),A              ; |826| 
        MVDK      *SP(3),*(AR1)         ; |826| 
        STL       A,*AR1(3)             ; |826| 
	.line	17
        MVDK      *SP(3),*(AR1)         ; |828| 
        ST        #63,*AR1(12)          ; |828| 
	.line	18
        MVDK      *SP(3),*(AR1)         ; |829| 
        ST        #0,*AR1(13)           ; |829| 
	.line	20
        ADDM      #44,*SP(3)            ; |831| 
	.line	21
        ADDM      #44,*SP(4)            ; |832| 
	.line	22
        ADDM      #1,*SP(2)             ; |833| 
        STM       #9,AR0                ; |833| 
        MVDK      *SP(2),*(AR1)         ; |833| 
        CMPR      1,AR1                 ; |833| 
        BC        L37,TC                ; |833| 
        ; branch occurs ; |833| 
L38:    
	.line	23
        MVDK      *SP(3),*(AR1)         ; |834| 
        ST        #0,*AR1               ; |834| 
	.line	24
        MVDK      *SP(3),*(AR1)         ; |835| 
        ST        #0,*AR1(3)            ; |835| 
	.line	26
        MVDK      *SP(3),*(AR1)         ; |837| 
        ST        #63,*AR1(12)          ; |837| 
	.line	27
        MVDK      *SP(3),*(AR1)         ; |838| 
        ST        #0,*AR1(13)           ; |838| 
	.line	29
        ST        #_OSEventTbl,*(_OSEventFreeList) ; |840| 
	.line	40
        FRAME     #6
        POPM      AR1
        RET
        ; return occurs
	.endfunc	851,000000400h,7


	.sect	".text"
	.sym	_OS_InitMisc,_OS_InitMisc, 32, 3, 0
	.func	866

;***************************************************************
;* FUNCTION DEF: _OS_InitMisc                                  *
;***************************************************************
_OS_InitMisc:
	.line	4
        LD        #0,A                  ; |869| 
        DST       A,*(_OSTime)          ; |869| 
	.line	7
        ST        #0,*(_OSIntNesting)   ; |872| 
	.line	8
        ST        #0,*(_OSLockNesting)  ; |873| 
	.line	10
        ST        #0,*(_OSTaskCtr)      ; |875| 
	.line	12
        ST        #0,*(_OSRunning)      ; |877| 
	.line	14
        LD        #0,A                  ; |879| 
        DST       A,*(_OSCtxSwCtr)      ; |879| 
	.line	15
        LD        #0,A                  ; |880| 
        DST       A,*(_OSIdleCtr)       ; |880| 
	.line	18
        LD        #0,A                  ; |883| 
        DST       A,*(_OSIdleCtrRun)    ; |883| 
	.line	19
        LD        #0,A                  ; |884| 
        DST       A,*(_OSIdleCtrMax)    ; |884| 
	.line	20
        ST        #0,*(_OSStatRdy)      ; |885| 
	.line	22
        RET
        ; return occurs
	.endfunc	887,000000000h,0


	.sect	".text"
	.sym	_OS_InitRdyList,_OS_InitRdyList, 32, 3, 0
	.func	902

;***************************************************************
;* FUNCTION DEF: _OS_InitRdyList                               *
;***************************************************************
_OS_InitRdyList:
	.sym	_i,0, 14, 1, 16
	.sym	_prdytbl,1, 30, 1, 16
        PSHM      AR1
        FRAME     #-2
	.line	7
        ST        #0,*(_OSRdyGrp)       ; |908| 
	.line	8
        ST        #_OSRdyTbl,*SP(1)     ; |909| 
	.line	9
        ST        #0,*SP(0)             ; |910| 
        STM       #8,AR0                ; |910| 
        MVDK      *SP(0),*(AR1)         ; |910| 
        CMPR      1,AR1                 ; |910| 
        BC        L40,NTC               ; |910| 
        ; branch occurs ; |910| 
L39:    
	.line	10
        MVDK      *SP(1),*(AR1)         ; |911| 
        LDM       AR1,A                 ; |911| 
        ADD       #1,A,A                ; |911| 
        STL       A,*SP(1)              ; |911| 
        ST        #0,*AR1               ; |911| 
	.line	11
        ADDM      #1,*SP(0)             ; |912| 
        STM       #8,AR0                ; |912| 
        MVDK      *SP(0),*(AR1)         ; |912| 
        CMPR      1,AR1                 ; |912| 
        BC        L39,TC                ; |912| 
        ; branch occurs ; |912| 
L40:    
	.line	13
        ST        #0,*(_OSPrioCur)      ; |914| 
	.line	14
        ST        #0,*(_OSPrioHighRdy)  ; |915| 
	.line	16
        ST        #0,*(_OSTCBHighRdy)   ; |917| 
	.line	17
        ST        #0,*(_OSTCBCur)       ; |918| 
	.line	18
        FRAME     #2
        POPM      AR1
        RET
        ; return occurs
	.endfunc	919,000000400h,3


	.sect	".text"
	.sym	_OS_InitTaskIdle,_OS_InitTaskIdle, 32, 3, 0
	.func	935

;***************************************************************
;* FUNCTION DEF: _OS_InitTaskIdle                              *
;***************************************************************
_OS_InitTaskIdle:
        FRAME     #-11
	.line	5
        LD        #_OSTaskIdleStk,A     ; |939| 
        LD        #_OSTaskIdleStk+127,B ; |939| 
        STL       A,*SP(4)              ; |939| 
        ST        #0,*SP(0)             ; |939| 
        ST        #63,*SP(2)            ; |939| 
        ST        #65535,*SP(3)         ; |939| 
        ST        #0,*SP(8)             ; |939| 
        LD        #128,A                ; |939| 
        ST        #3,*SP(9)             ; |939| 
        STL       B,*SP(1)              ; |939| 
        DST       A,*SP(6)              ; |939| 
        CALLD     #_OSTaskCreateExt     ; |939| 
        LD        #_OS_TaskIdle,A       ; |939| 
        ; call occurs [#_OSTaskCreateExt] ; |939| 
	.line	38
        FRAME     #11
        RET
        ; return occurs
	.endfunc	972,000000000h,11


	.sect	".text"
	.sym	_OS_InitTaskStat,_OS_InitTaskStat, 32, 3, 0
	.func	988

;***************************************************************
;* FUNCTION DEF: _OS_InitTaskStat                              *
;***************************************************************
_OS_InitTaskStat:
        FRAME     #-11
	.line	5
        LD        #_OSTaskStatStk,A     ; |992| 
        LD        #_OSTaskStatStk+127,B ; |992| 
        STL       A,*SP(4)              ; |992| 
        ST        #0,*SP(0)             ; |992| 
        ST        #62,*SP(2)            ; |992| 
        ST        #65534,*SP(3)         ; |992| 
        ST        #0,*SP(8)             ; |992| 
        LD        #128,A                ; |992| 
        ST        #3,*SP(9)             ; |992| 
        STL       B,*SP(1)              ; |992| 
        DST       A,*SP(6)              ; |992| 
        CALLD     #_OSTaskCreateExt     ; |992| 
        LD        #_OS_TaskStat,A       ; |992| 
        ; call occurs [#_OSTaskCreateExt] ; |992| 
	.line	38
        FRAME     #11
        RET
        ; return occurs
	.endfunc	1025,000000000h,11


	.sect	".text"
	.sym	_OS_InitTCBList,_OS_InitTCBList, 32, 3, 0
	.func	1041

;***************************************************************
;* FUNCTION DEF: _OS_InitTCBList                               *
;***************************************************************
_OS_InitTCBList:
	.sym	_i,2, 14, 1, 16
	.sym	_ptcb1,3, 24, 1, 16, _os_tcb
	.sym	_ptcb2,4, 24, 1, 16, _os_tcb
        PSHM      AR1
        FRAME     #-6
        NOP
	.line	8
        ST        #1408,*SP(0)          ; |1048| 
        CALLD     #_OS_MemClr           ; |1048| 
        LD        #_OSTCBTbl,A          ; |1048| 
        ; call occurs [#_OS_MemClr] ; |1048| 
	.line	9
        ST        #64,*SP(0)            ; |1049| 
        CALLD     #_OS_MemClr           ; |1049| 
        LD        #_OSTCBPrioTbl,A      ; |1049| 
        ; call occurs [#_OS_MemClr] ; |1049| 
	.line	10
        ST        #_OSTCBTbl,*SP(3)     ; |1050| 
	.line	11
        ST        #_OSTCBTbl+64,*SP(4)  ; |1051| 
	.line	12
        ST        #0,*SP(2)             ; |1052| 
        STM       #21,AR0               ; |1052| 
        MVDK      *SP(2),*(AR1)         ; |1052| 
        CMPR      1,AR1                 ; |1052| 
        BC        L42,NTC               ; |1052| 
        ; branch occurs ; |1052| 
L41:    
	.line	13
        LD        *SP(4),A              ; |1053| 
        MVDK      *SP(3),*(AR1)         ; |1053| 
        STL       A,*AR1(8)             ; |1053| 
	.line	15
        MVDK      *SP(3),*(AR1)         ; |1055| 
        ST        #63,*AR1(32)          ; |1055| 
	.line	16
        MVDK      *SP(3),*(AR1)         ; |1056| 
        ST        #0,*AR1(33)           ; |1056| 
	.line	18
        ADDM      #64,*SP(3)            ; |1058| 
	.line	19
        ADDM      #64,*SP(4)            ; |1059| 
	.line	20
        ADDM      #1,*SP(2)             ; |1060| 
        STM       #21,AR0               ; |1060| 
        MVDK      *SP(2),*(AR1)         ; |1060| 
        CMPR      1,AR1                 ; |1060| 
        BC        L41,TC                ; |1060| 
        ; branch occurs ; |1060| 
L42:    
	.line	21
        MVDK      *SP(3),*(AR1)         ; |1061| 
        ST        #0,*AR1(8)            ; |1061| 
	.line	23
        MVDK      *SP(3),*(AR1)         ; |1063| 
        ST        #63,*AR1(32)          ; |1063| 
	.line	24
        MVDK      *SP(3),*(AR1)         ; |1064| 
        ST        #0,*AR1(33)           ; |1064| 
	.line	26
        ST        #0,*(_OSTCBList)      ; |1066| 
	.line	27
        ST        #_OSTCBTbl,*(_OSTCBFreeList) ; |1067| 
	.line	28
        FRAME     #6
        POPM      AR1
        RET
        ; return occurs
	.endfunc	1068,000000400h,7


	.sect	".text"
	.global	_OS_MemClr
	.sym	_OS_MemClr,_OS_MemClr, 32, 2, 0
	.func	1090

;***************************************************************
;* FUNCTION DEF: _OS_MemClr                                    *
;***************************************************************
_OS_MemClr:
;* A     assigned to _pdest
	.sym	_pdest,0, 30, 17, 16
	.sym	_size,3, 14, 9, 16
	.sym	_pdest,0, 30, 1, 16
        PSHM      AR1
        FRAME     #-1
        NOP
	.line	2
        STL       A,*SP(0)              ; |1091| 
	.line	3
        LD        *SP(3),A              ; |1092| 
        BC        L44,AEQ               ; |1092| 
        ; branch occurs ; |1092| 
L43:    
	.line	4
        MVDK      *SP(0),*(AR1)         ; |1093| 
        LDM       AR1,A                 ; |1093| 
        ADD       #1,A,A                ; |1093| 
        STL       A,*SP(0)              ; |1093| 
        ST        #0,*AR1               ; |1093| 
	.line	5
        ADDM      #-1,*SP(3)            ; |1094| 
	.line	6
        LD        *SP(3),A              ; |1095| 
        BC        L43,ANEQ              ; |1095| 
        ; branch occurs ; |1095| 
	.line	7
L44:    
        FRAME     #1
        POPM      AR1
        RET
        ; return occurs
	.endfunc	1096,000000400h,2


	.sect	".text"
	.global	_OS_MemCopy
	.sym	_OS_MemCopy,_OS_MemCopy, 32, 2, 0
	.func	1122

;***************************************************************
;* FUNCTION DEF: _OS_MemCopy                                   *
;***************************************************************
_OS_MemCopy:
;* A     assigned to _pdest
	.sym	_pdest,0, 30, 17, 16
	.sym	_psrc,3, 30, 9, 16
	.sym	_size,4, 14, 9, 16
	.sym	_pdest,0, 30, 1, 16
        PSHM      AR1
        FRAME     #-1
        NOP
	.line	2
        STL       A,*SP(0)              ; |1123| 
	.line	3
        LD        *SP(4),A              ; |1124| 
        BC        L46,AEQ               ; |1124| 
        ; branch occurs ; |1124| 
L45:    
	.line	4
        MVDK      *SP(3),*(AR1)         ; |1125| 
        LD        *AR1+,B               ; |1125| 
        MVKD      *(AR1),*SP(3)         ; |1125| 
        MVDK      *SP(0),*(AR1)         ; |1125| 
        LDM       AR1,A                 ; |1125| 
        ADD       #1,A,A                ; |1125| 
        STL       A,*SP(0)              ; |1125| 
        STL       B,*AR1                ; |1125| 
	.line	5
        ADDM      #-1,*SP(4)            ; |1126| 
	.line	6
        LD        *SP(4),A              ; |1127| 
        BC        L45,ANEQ              ; |1127| 
        ; branch occurs ; |1127| 
	.line	7
L46:    
        FRAME     #1
        POPM      AR1
        RET
        ; return occurs
	.endfunc	1128,000000400h,2


	.sect	".text"
	.global	_OS_Sched
	.sym	_OS_Sched,

⌨️ 快捷键说明

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