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

📄 os_mem.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.50 *
;* Date/Time created: Wed Apr 07 11:37:06 2004                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
;	acp500 -m --i_output_file D:\DOCUME~1\liuchao\LOCALS~1\Temp\tempTI2 --ii_file D:\DOCUME~1\liuchao\LOCALS~1\Temp\tempTI3 --object_file .\os_mem.obj --opt_shell 5 os_mem.c os_mem.c -gk -as -fr. os_mem.c 
	.file	"os_mem.c"
	.file	"e:\ti\c5400\cgtools\include\os_cpu.h"
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_INT32U, 0, 15, 13, 32
	.file	".\ucos_ii.h"
	.stag	_os_mem, 640
	.member	_OSMemAddr, 0, 16, 8, 16
	.member	_OSMemFreeList, 16, 16, 8, 16
	.member	_OSMemBlkSize, 32, 15, 8, 32
	.member	_OSMemNBlks, 64, 15, 8, 32
	.member	_OSMemNFree, 96, 15, 8, 32
	.member	_OSMemName, 128, 50, 8, 512, , 32
	.eos
	.sym	_OS_MEM, 0, 8, 13, 640,_os_mem
	.stag	_os_mem_data, 160
	.member	_OSAddr, 0, 16, 8, 16
	.member	_OSFreeList, 16, 16, 8, 16
	.member	_OSBlkSize, 32, 15, 8, 32
	.member	_OSNBlks, 64, 15, 8, 32
	.member	_OSNFree, 96, 15, 8, 32
	.member	_OSNUsed, 128, 15, 8, 32
	.eos
	.sym	_OS_MEM_DATA, 0, 8, 13, 160,_os_mem_data
	.file	"os_mem.c"
	.file	".\ucos_ii.h"
	.file	"os_mem.c"
	.sect	".text"
	.global	_OSMemCreate
	.sym	_OSMemCreate,_OSMemCreate, 104, 2, 0, _os_mem
	.func	48

;***************************************************************
;* FUNCTION DEF: _OSMemCreate                                  *
;***************************************************************
_OSMemCreate:
;* A     assigned to _addr
	.sym	_addr,0, 16, 17, 16
	.sym	_nblks,8, 15, 9, 32
	.sym	_blksize,10, 15, 9, 32
	.sym	_err,12, 30, 9, 16
	.sym	_addr,0, 16, 1, 16
	.sym	_pmem,1, 24, 1, 16, _os_mem
	.sym	_pblk,2, 30, 1, 16
	.sym	_plink,3, 80, 1, 16
	.sym	_i,4, 15, 1, 32
        PSHM      AR1
        FRAME     #-6
        NOP
	.line	2
        STL       A,*SP(0)              ; |49| 
	.line	13
        LD        *SP(0),A              ; |60| 
        BC        L1,ANEQ               ; |60| 
        ; branch occurs ; |60| 
	.line	14
        MVDK      *SP(12),*(AR1)        ; |61| 
        ST        #118,*AR1             ; |61| 
	.line	15
        BD        L8                    ; |62| 
        NOP
        LD        #0,A                  ; |62| 
        ; branch occurs ; |62| 
L1:    
	.line	17
        RSBX      SXM                   ; 
        LD        #2,A                  ; |64| 
        DSUB      *SP(8),A              ; |64| 
        BC        L2,ALEQ               ; |64| 
        ; branch occurs ; |64| 
	.line	18
        MVDK      *SP(12),*(AR1)        ; |65| 
        ST        #111,*AR1             ; |65| 
	.line	19
        BD        L8                    ; |66| 
        NOP
        LD        #0,A                  ; |66| 
        ; branch occurs ; |66| 
L2:    
	.line	21
        DLD       *SP(10),A             ; |68| 
        BC        L3,ANEQ               ; |68| 
        ; branch occurs ; |68| 
	.line	22
        MVDK      *SP(12),*(AR1)        ; |69| 
        ST        #112,*AR1             ; |69| 
	.line	23
        BD        L8                    ; |70| 
        NOP
        LD        #0,A                  ; |70| 
        ; branch occurs ; |70| 
L3:    
	.line	26
 ssbx INTM
	.line	27
        MVKD      *(_OSMemFreeList),*SP(1) ; |74| 
	.line	28
        LD        *(_OSMemFreeList),A   ; |75| 
        BC        L4,AEQ                ; |75| 
        ; branch occurs ; |75| 
	.line	29
        MVDM      *(_OSMemFreeList),AR1 ; |76| 
        NOP
        MVDK      *AR1(1),*(_OSMemFreeList) ; |76| 
L4:    
	.line	31
 rsbx INTM
	.line	32
        LD        *SP(1),A              ; |79| 
        BC        L5,ANEQ               ; |79| 
        ; branch occurs ; |79| 
	.line	33
        MVDK      *SP(12),*(AR1)        ; |80| 
        ST        #110,*AR1             ; |80| 
	.line	34
        BD        L8                    ; |81| 
        NOP
        LD        #0,A                  ; |81| 
        ; branch occurs ; |81| 
L5:    
	.line	36
        LD        *SP(0),A              ; |83| 
        STL       A,*SP(3)              ; |83| 
	.line	37
        DADD      *SP(10),A,A           ; |84| 
        STL       A,*SP(2)              ; |84| 
	.line	38
        LD        #0,A                  ; |85| 
        DST       A,*SP(4)              ; |85| 
        DLD       *SP(8),A              ; |85| 
        SUB       #1,A                  ; |85| 
        SFTL      A,#0                  ; |85| 
        DSUB      *SP(4),A              ; |85| 
        BC        L7,ALEQ               ; |85| 
        ; branch occurs ; |85| 
L6:    
	.line	39
        LD        *SP(2),A              ; |86| 
        MVDK      *SP(3),*(AR1)         ; |86| 
        STL       A,*AR1                ; |86| 
	.line	40
        MVDK      *SP(3),*(AR1)         ; |87| 
        LD        *AR1,A                ; |87| 
        STL       A,*SP(3)              ; |87| 
	.line	41
        LD        *SP(2),A              ; |88| 
        DADD      *SP(10),A,A           ; |88| 
        STL       A,*SP(2)              ; |88| 
	.line	42
        DLD       *SP(4),A              ; |89| 
        ADD       #1,A                  ; |89| 
        DST       A,*SP(4)              ; |89| 
        DLD       *SP(8),A              ; |89| 
        SUB       #1,A                  ; |89| 
        SFTL      A,#0                  ; |89| 
        DSUB      *SP(4),A              ; |89| 
        BC        L6,AGT                ; |89| 
        ; branch occurs ; |89| 
L7:    
	.line	43
        MVDK      *SP(3),*(AR1)         ; |90| 
        ST        #0,*AR1               ; |90| 
	.line	44
        LD        *SP(0),A              ; |91| 
        MVDK      *SP(1),*(AR1)         ; |91| 
        STL       A,*AR1                ; |91| 
	.line	45
        LD        *SP(0),A              ; |92| 
        MVDK      *SP(1),*(AR1)         ; |92| 
        STL       A,*AR1(1)             ; |92| 
	.line	46
        MVDK      *SP(1),*(AR1)         ; |93| 
        DLD       *SP(8),A              ; |93| 
        DST       A,*AR1(6)             ; |93| 
	.line	47
        MVDK      *SP(1),*(AR1)         ; |94| 
        DLD       *SP(8),A              ; |94| 
        DST       A,*AR1(4)             ; |94| 
	.line	48
        DLD       *SP(10),A             ; |95| 
        MVDK      *SP(1),*(AR1)         ; |95| 
        DST       A,*AR1(2)             ; |95| 
	.line	49
        MVDK      *SP(12),*(AR1)        ; |96| 
        ST        #0,*AR1               ; |96| 
	.line	50
        LD        *SP(1),A              ; |97| 
L8:    
	.line	51
        FRAME     #6                    ; |98| 
        POPM      AR1                   ; |98| 
        RET       ; |98| 
        ; return occurs ; |98| 
	.endfunc	98,000000400h,7


	.sect	".text"
	.global	_OSMemGet
	.sym	_OSMemGet,_OSMemGet, 96, 2, 0
	.func	120

;***************************************************************
;* FUNCTION DEF: _OSMemGet                                     *
;***************************************************************
_OSMemGet:
;* A     assigned to _pmem
	.sym	_pmem,0, 24, 17, 16, _os_mem
	.sym	_err,4, 30, 9, 16
	.sym	_pmem,0, 24, 1, 16, _os_mem
	.sym	_pblk,1, 16, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |121| 
	.line	10
        LD        *SP(0),A              ; |129| 
        BC        L9,ANEQ               ; |129| 
        ; branch occurs ; |129| 
	.line	11
        MVDK      *SP(4),*(AR1)         ; |130| 
        ST        #116,*AR1             ; |130| 
	.line	12
        BD        L11                   ; |131| 
        NOP
        LD        #0,A                  ; |131| 
        ; branch occurs ; |131| 
L9:    
	.line	15
 ssbx INTM
	.line	16
        MVDK      *SP(0),*(AR1)         ; |135| 
        DLD       *AR1(6),A             ; |135| 
        BC        L10,AEQ               ; |135| 
        ; branch occurs ; |135| 
	.line	17
        LD        *AR1(1),A             ; |136| 
        STL       A,*SP(1)              ; |136| 
	.line	18
        STLM      A,AR3
        MVMM      AR1,AR2
        MAR       *AR2+                 ; |137| 
        MVDD      *AR3,*AR2             ; |137| 
	.line	19
        MVDK      *SP(0),*(AR1)         ; |138| 
        DLD       *AR1(6),A             ; |138| 
        SUB       #1,A                  ; |138| 
        DST       A,*AR1(6)             ; |138| 
	.line	20
 rsbx INTM
	.line	21
        MVDK      *SP(4),*(AR1)         ; |140| 
        ST        #0,*AR1               ; |140| 
	.line	22
        BD        L11                   ; |141| 
        NOP
        LD        *SP(1),A              ; |141| 
        ; branch occurs ; |141| 
L10:    
	.line	24
 rsbx INTM
	.line	25
        MVDK      *SP(4),*(AR1)         ; |144| 
        ST        #113,*AR1             ; |144| 
	.line	26
        LD        #0,A                  ; |145| 
L11:    
	.line	27
        FRAME     #2                    ; |146| 
        POPM      AR1                   ; |146| 
        RET       ; |146| 
        ; return occurs ; |146| 
	.endfunc	146,000000400h,3


	.sect	".text"
	.global	_OSMemNameGet
	.sym	_OSMemNameGet,_OSMemNameGet, 46, 2, 0
	.func	169

;***************************************************************
;* FUNCTION DEF: _OSMemNameGet                                 *
;***************************************************************
_OSMemNameGet:
;* 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)              ; |170| 
	.line	9
 ssbx INTM
	.line	11
        LD        *SP(2),A              ; |179| 
        BC        L12,ANEQ              ; |179| 
        ; branch occurs ; |179| 
	.line	12
 rsbx INTM
	.line	13
        MVDK      *SP(7),*(AR1)         ; |181| 
        ST        #116,*AR1             ; |181| 
	.line	14
        BD        L14                   ; |182| 
        NOP
        LD        #0,A                  ; |182| 
        ; branch occurs ; |182| 
L12:    
	.line	16
        LD        *SP(6),A              ; |184| 
        BC        L13,ANEQ              ; |184| 
        ; branch occurs ; |184| 
	.line	17
 rsbx INTM
	.line	18
        MVDK      *SP(7),*(AR1)         ; |186| 
        ST        #15,*AR1              ; |186| 
	.line	19
        BD        L14                   ; |187| 
        NOP
        LD        #0,A                  ; |187| 
        ; branch occurs ; |187| 
L13:    
	.line	22
        LD        *SP(2),A              ; |190| 
        ADD       #8,A,A                ; |190| 
        STL       A,*SP(0)              ; |190| 
        LD        *SP(6),A              ; |190| 
        CALL      #_OS_StrCopy          ; |190| 
        ; call occurs [#_OS_StrCopy] ; |190| 
        STL       A,*SP(3)              ; |190| 
	.line	23
 rsbx INTM
	.line	24

⌨️ 快捷键说明

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