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

📄 os_mem.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        MVDK      *SP(7),*(AR1)         ; |192| 
        ST        #0,*AR1               ; |192| 
	.line	25
        LD        *SP(3),A              ; |193| 
L14:    
	.line	26
        FRAME     #4                    ; |194| 
        POPM      AR1                   ; |194| 
        RET       ; |194| 
        ; return occurs ; |194| 
	.endfunc	194,000000400h,5


	.sect	".text"
	.global	_OSMemNameSet
	.sym	_OSMemNameSet,_OSMemNameSet, 32, 2, 0
	.func	220

;***************************************************************
;* FUNCTION DEF: _OSMemNameSet                                 *
;***************************************************************
_OSMemNameSet:
;* A     assigned to _pmem
	.sym	_pmem,0, 24, 17, 16, _os_mem
	.sym	_pname,6, 18, 9, 16
	.sym	_err,7, 30, 9, 16
	.sym	_pmem,2, 24, 1, 16, _os_mem
	.sym	_len,3, 14, 1, 16
        PSHM      AR1
        FRAME     #-4
        NOP
	.line	2
        STL       A,*SP(2)              ; |221| 
	.line	9
 ssbx INTM
	.line	11
        LD        *SP(2),A              ; |230| 
        BC        L15,ANEQ              ; |230| 
        ; branch occurs ; |230| 
	.line	12
 rsbx INTM
	.line	13
        MVDK      *SP(7),*(AR1)         ; |232| 
        ST        #116,*AR1             ; |232| 
L15:    
	.line	15
        LD        *SP(6),A              ; |234| 
        BC        L16,ANEQ              ; |234| 
        ; branch occurs ; |234| 
	.line	16
 rsbx INTM
	.line	17
        MVDK      *SP(7),*(AR1)         ; |236| 
        ST        #15,*AR1              ; |236| 
	.line	18
        B         L18                   ; |237| 
        ; branch occurs ; |237| 
L16:    
	.line	21
        LD        *SP(6),A              ; |240| 
        CALL      #_OS_StrLen           ; |240| 
        ; call occurs [#_OS_StrLen] ; |240| 
        STL       A,*SP(3)              ; |240| 
	.line	22
        STLM      A,AR1                 ; |241| 
        NOP
        STM       #31,AR0               ; |241| 
        CMPR      2,AR1                 ; |241| 
        BC        L17,NTC               ; |241| 
        ; branch occurs ; |241| 
	.line	23
 rsbx INTM
	.line	24
        MVDK      *SP(7),*(AR1)         ; |243| 
        ST        #119,*AR1             ; |243| 
	.line	25
        B         L18                   ; |244| 
        ; branch occurs ; |244| 
L17:    
	.line	27
        LD        *SP(6),A              ; |246| 
        STL       A,*SP(0)              ; |246| 
        LD        *SP(2),A              ; |246| 
        CALLD     #_OS_StrCopy          ; |246| 
        ADD       #8,A,A                ; |246| 
        ; call occurs [#_OS_StrCopy] ; |246| 
	.line	28
 rsbx INTM
	.line	29
        MVDK      *SP(7),*(AR1)         ; |248| 
        ST        #0,*AR1               ; |248| 
	.line	30
L18:    
        FRAME     #4
        POPM      AR1
        RET
        ; return occurs
	.endfunc	249,000000400h,5


	.sect	".text"
	.global	_OSMemPut
	.sym	_OSMemPut,_OSMemPut, 46, 2, 0
	.func	271

;***************************************************************
;* FUNCTION DEF: _OSMemPut                                     *
;***************************************************************
_OSMemPut:
;* A     assigned to _pmem
	.sym	_pmem,0, 24, 17, 16, _os_mem
	.sym	_pblk,3, 16, 9, 16
	.sym	_pmem,0, 24, 1, 16, _os_mem
        PSHM      AR1
        FRAME     #-1
        NOP
	.line	2
        STL       A,*SP(0)              ; |272| 
	.line	9
        LD        *SP(0),A              ; |279| 
        BC        L19,ANEQ              ; |279| 
        ; branch occurs ; |279| 
	.line	10
        BD        L22                   ; |280| 
        NOP
        LD        #116,A                ; |280| 
        ; branch occurs ; |280| 
L19:    
	.line	12
        LD        *SP(3),A              ; |282| 
        BC        L20,ANEQ              ; |282| 
        ; branch occurs ; |282| 
	.line	13
        BD        L22                   ; |283| 
        NOP
        LD        #115,A                ; |283| 
        ; branch occurs ; |283| 
L20:    
	.line	16
 ssbx INTM
	.line	17
        RSBX      SXM                   ; 
        MVDK      *SP(0),*(AR1)         ; |287| 
        DLD       *AR1(4),A
        DSUB      *AR1(6),A             ; |287| 
        BC        L21,AGT               ; |287| 
        ; branch occurs ; |287| 
	.line	18
 rsbx INTM
	.line	19
        BD        L22                   ; |289| 
        NOP
        LD        #114,A                ; |289| 
        ; branch occurs ; |289| 
L21:    
	.line	21
        MVMM      AR1,AR2
        MVDK      *SP(3),*(AR3)         ; |291| 
        MAR       *AR2+                 ; |291| 
        MVDD      *AR2,*AR3             ; |291| 
	.line	22
        LD        *SP(3),A              ; |292| 
        MVDK      *SP(0),*(AR1)         ; |292| 
        STL       A,*AR1(1)             ; |292| 
	.line	23
        MVDK      *SP(0),*(AR1)         ; |293| 
        DLD       *AR1(6),A             ; |293| 
        ADD       #1,A                  ; |293| 
        DST       A,*AR1(6)             ; |293| 
	.line	24
 rsbx INTM
	.line	25
        LD        #0,A                  ; |295| 
L22:    
	.line	26
        FRAME     #1                    ; |296| 
        POPM      AR1                   ; |296| 
        RET       ; |296| 
        ; return occurs ; |296| 
	.endfunc	296,000000400h,2


	.sect	".text"
	.global	_OSMemQuery
	.sym	_OSMemQuery,_OSMemQuery, 46, 2, 0
	.func	317

;***************************************************************
;* FUNCTION DEF: _OSMemQuery                                   *
;***************************************************************
_OSMemQuery:
;* A     assigned to _pmem
	.sym	_pmem,0, 24, 17, 16, _os_mem
	.sym	_p_mem_data,3, 24, 9, 16, _os_mem_data
	.sym	_pmem,0, 24, 1, 16, _os_mem
        PSHM      AR1
        FRAME     #-1
        NOP
	.line	2
        STL       A,*SP(0)              ; |318| 
	.line	9
        LD        *SP(0),A              ; |325| 
        BC        L23,ANEQ              ; |325| 
        ; branch occurs ; |325| 
	.line	10
        BD        L25                   ; |326| 
        NOP
        LD        #116,A                ; |326| 
        ; branch occurs ; |326| 
L23:    
	.line	12
        LD        *SP(3),A              ; |328| 
        BC        L24,ANEQ              ; |328| 
        ; branch occurs ; |328| 
	.line	13
        BD        L25                   ; |329| 
        NOP
        LD        #117,A                ; |329| 
        ; branch occurs ; |329| 
L24:    
	.line	16
 ssbx INTM
	.line	17
        MVDK      *SP(0),*(AR2)         ; |333| 
        MVDK      *SP(3),*(AR3)         ; |333| 
        MVDD      *AR2,*AR3             ; |333| 
	.line	18
        MVDK      *SP(0),*(AR1)         ; |334| 
        LD        *AR1(1),A             ; |334| 
        MVDK      *SP(3),*(AR1)         ; |334| 
        STL       A,*AR1(1)             ; |334| 
	.line	19
        MVDK      *SP(0),*(AR1)         ; |335| 
        DLD       *AR1(2),A             ; |335| 
        MVDK      *SP(3),*(AR1)         ; |335| 
        DST       A,*AR1(2)             ; |335| 
	.line	20
        MVDK      *SP(0),*(AR1)         ; |336| 
        DLD       *AR1(4),A             ; |336| 
        MVDK      *SP(3),*(AR1)         ; |336| 
        DST       A,*AR1(4)             ; |336| 
	.line	21
        MVDK      *SP(0),*(AR1)         ; |337| 
        DLD       *AR1(6),A             ; |337| 
        MVDK      *SP(3),*(AR1)         ; |337| 
        DST       A,*AR1(6)             ; |337| 
	.line	22
 rsbx INTM
	.line	23
        MVDK      *SP(3),*(AR1)         ; |339| 
        DLD       *AR1(6),A             ; |339| 
        DRSUB     *AR1(4),A             ; |339| 
        DST       A,*AR1(8)             ; |339| 
	.line	24
        LD        #0,A                  ; |340| 
L25:    
	.line	25
        FRAME     #1                    ; |341| 
        POPM      AR1                   ; |341| 
        RET       ; |341| 
        ; return occurs ; |341| 
	.endfunc	341,000000400h,2


	.sect	".text"
	.global	_OS_MemInit
	.sym	_OS_MemInit,_OS_MemInit, 32, 2, 0
	.func	359

;***************************************************************
;* FUNCTION DEF: _OS_MemInit                                   *
;***************************************************************
_OS_MemInit:
	.sym	_pmem,2, 24, 1, 16, _os_mem
	.sym	_i,3, 14, 1, 16
        PSHM      AR1
        FRAME     #-4
        NOP
	.line	13
        ST        #200,*SP(0)           ; |371| 
        CALLD     #_OS_MemClr           ; |371| 
        LD        #_OSMemTbl,A          ; |371| 
        ; call occurs [#_OS_MemClr] ; |371| 
	.line	14
        ST        #_OSMemTbl,*SP(2)     ; |372| 
	.line	15
        ST        #0,*SP(3)             ; |373| 
        STM       #4,AR0                ; |373| 
        MVDK      *SP(3),*(AR1)         ; |373| 
        CMPR      1,AR1                 ; |373| 
        BC        L27,NTC               ; |373| 
        ; branch occurs ; |373| 
L26:    
	.line	16
        LD        *SP(3),B              ; |374| 
        STM       #40,T                 ; |374| 
        LD        #_OSMemTbl,A          ; |374| 
        ADD       #1,B                  ; |374| 
        MVDK      *SP(2),*(AR1)         ; |374| 
        MAC       *(BL), A              ; |374| 
        STL       A,*AR1(1)             ; |374| 
	.line	18
        MVDK      *SP(2),*(AR1)         ; |376| 
        ST        #63,*AR1(8)           ; |376| 
	.line	19
        MVDK      *SP(2),*(AR1)         ; |377| 
        ST        #0,*AR1(9)            ; |377| 
	.line	21
        ADDM      #40,*SP(2)            ; |379| 
	.line	22
        ADDM      #1,*SP(3)             ; |380| 
        STM       #4,AR0                ; |380| 
        MVDK      *SP(3),*(AR1)         ; |380| 
        CMPR      1,AR1                 ; |380| 
        BC        L26,TC                ; |380| 
        ; branch occurs ; |380| 
L27:    
	.line	23
        MVDK      *SP(2),*(AR1)         ; |381| 
        ST        #0,*AR1(1)            ; |381| 
	.line	25
        MVDK      *SP(2),*(AR1)         ; |383| 
        ST        #63,*AR1(8)           ; |383| 
	.line	26
        MVDK      *SP(2),*(AR1)         ; |384| 
        ST        #0,*AR1(9)            ; |384| 
	.line	29
        ST        #_OSMemTbl,*(_OSMemFreeList) ; |387| 
	.line	31
        FRAME     #4
        POPM      AR1
        RET
        ; return occurs
	.endfunc	389,000000400h,5


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_OS_MemClr
	.global	_OS_StrCopy
	.global	_OS_StrLen
	.global	_OSMemTbl
	.global	_OSMemFreeList

⌨️ 快捷键说明

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