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

📄 os_mbox.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.50 *
;* Date/Time created: Wed Apr 07 11:37:05 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_mbox.obj --opt_shell 5 os_mbox.c os_mbox.c -gk -as -fr. os_mbox.c 
	.file	"os_mbox.c"
	.file	"e:\ti\c5400\cgtools\include\os_cpu.h"
	.sym	_BOOLEAN, 0, 14, 13, 16
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_INT32U, 0, 15, 13, 32
	.sym	_OS_STK, 0, 14, 13, 16
	.file	"e:\ti\c5400\cgtools\include\os_cfg.h"
	.sym	_OS_FLAGS, 0, 14, 13, 16
	.file	".\ucos_ii.h"
	.stag	_os_event, 704
	.member	_OSEventType, 0, 14, 8, 16
	.member	_OSEventGrp, 16, 14, 8, 16
	.member	_OSEventCnt, 32, 14, 8, 16
	.member	_OSEventPtr, 48, 16, 8, 16
	.member	_OSEventTbl, 64, 62, 8, 128, , 8
	.member	_OSEventName, 192, 50, 8, 512, , 32
	.eos
	.sym	_OS_EVENT, 0, 8, 13, 704,_os_event
	.stag	_os_flag_node, 0
	.eos
	.sym	_OS_FLAG_NODE, 0, 8, 13, 0,_os_flag_node
	.stag	_os_mbox_data, 160
	.member	_OSMsg, 0, 16, 8, 16
	.member	_OSEventTbl, 16, 62, 8, 128, , 8
	.member	_OSEventGrp, 144, 14, 8, 16
	.eos
	.sym	_OS_MBOX_DATA, 0, 8, 13, 160,_os_mbox_data
	.stag	_os_tcb, 1024
	.member	_OSTCBStkPtr, 0, 30, 8, 16
	.member	_OSTCBExtPtr, 16, 16, 8, 16
	.member	_OSTCBStkBottom, 32, 30, 8, 16
	.member	_OSTCBStkSize, 64, 15, 8, 32
	.member	_OSTCBOpt, 96, 14, 8, 16
	.member	_OSTCBId, 112, 14, 8, 16
	.member	_OSTCBNext, 128, 24, 8, 16, _os_tcb
	.member	_OSTCBPrev, 144, 24, 8, 16, _os_tcb
	.member	_OSTCBEventPtr, 160, 24, 8, 16, _os_event
	.member	_OSTCBMsg, 176, 16, 8, 16
	.member	_OSTCBFlagNode, 192, 24, 8, 16, _os_flag_node
	.member	_OSTCBFlagsRdy, 208, 14, 8, 16
	.member	_OSTCBDly, 224, 14, 8, 16
	.member	_OSTCBStat, 240, 14, 8, 16
	.member	_OSTCBPrio, 256, 14, 8, 16
	.member	_OSTCBX, 272, 14, 8, 16
	.member	_OSTCBY, 288, 14, 8, 16
	.member	_OSTCBBitX, 304, 14, 8, 16
	.member	_OSTCBBitY, 320, 14, 8, 16
	.member	_OSTCBDelReq, 336, 14, 8, 16
	.member	_OSTCBCtxSwCtr, 352, 15, 8, 32
	.member	_OSTCBCyclesTot, 384, 15, 8, 32
	.member	_OSTCBCyclesStart, 416, 15, 8, 32
	.member	_OSTCBStkBase, 448, 30, 8, 16
	.member	_OSTCBStkUsed, 480, 15, 8, 32
	.member	_OSTCBTaskName, 512, 50, 8, 512, , 32
	.eos
	.sym	_OS_TCB, 0, 8, 13, 1024,_os_tcb
	.file	"os_mbox.c"
	.file	".\ucos_ii.h"
	.file	"os_mbox.c"
	.sect	".text"
	.global	_OSMboxAccept
	.sym	_OSMboxAccept,_OSMboxAccept, 96, 2, 0
	.func	38

;***************************************************************
;* FUNCTION DEF: _OSMboxAccept                                 *
;***************************************************************
_OSMboxAccept:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_pevent,0, 24, 1, 16, _os_event
	.sym	_msg,1, 16, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |39| 
	.line	10
        LD        *SP(0),A              ; |47| 
        BC        L1,ANEQ               ; |47| 
        ; branch occurs ; |47| 
	.line	11
        BD        L3                    ; |48| 
        NOP
        LD        #0,A                  ; |48| 
        ; branch occurs ; |48| 
L1:    
	.line	14
        MVDK      *SP(0),*(AR1)         ; |51| 
        CMPM      *AR1,#1               ; |51| 
        BC        L2,TC                 ; |51| 
        ; branch occurs ; |51| 
	.line	15
        BD        L3                    ; |52| 
        NOP
        LD        #0,A                  ; |52| 
        ; branch occurs ; |52| 
L2:    
	.line	17
 ssbx INTM
	.line	18
        LD        *AR1(3),A             ; |55| 
        STL       A,*SP(1)              ; |55| 
	.line	19
        ST        #0,*AR1(3)            ; |56| 
	.line	20
 rsbx INTM
	.line	21
        LD        *SP(1),A              ; |58| 
L3:    
	.line	22
        FRAME     #2                    ; |59| 
        POPM      AR1                   ; |59| 
        RET       ; |59| 
        ; return occurs ; |59| 
	.endfunc	59,000000400h,3


	.sect	".text"
	.global	_OSMboxCreate
	.sym	_OSMboxCreate,_OSMboxCreate, 104, 2, 0, _os_event
	.func	78

;***************************************************************
;* FUNCTION DEF: _OSMboxCreate                                 *
;***************************************************************
_OSMboxCreate:
;* A     assigned to _msg
	.sym	_msg,0, 16, 17, 16
	.sym	_msg,0, 16, 1, 16
	.sym	_pevent,1, 24, 1, 16, _os_event
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |79| 
	.line	9
        LD        *(_OSIntNesting),A    ; |86| 
        BC        L4,AEQ                ; |86| 
        ; branch occurs ; |86| 
	.line	10
        BD        L7                    ; |87| 
        NOP
        LD        #0,A                  ; |87| 
        ; branch occurs ; |87| 
L4:    
	.line	12
 ssbx INTM
	.line	13
        MVKD      *(_OSEventFreeList),*SP(1) ; |90| 
	.line	14
        LD        *(_OSEventFreeList),A ; |91| 
        BC        L5,AEQ                ; |91| 
        ; branch occurs ; |91| 
	.line	15
        MVDM      *(_OSEventFreeList),AR1 ; |92| 
        NOP
        MVDK      *AR1(3),*(_OSEventFreeList) ; |92| 
L5:    
	.line	17
 rsbx INTM
	.line	18
        LD        *SP(1),A              ; |95| 
        BC        L6,AEQ                ; |95| 
        ; branch occurs ; |95| 
	.line	19
        MVDK      *SP(1),*(AR1)         ; |96| 
        ST        #1,*AR1               ; |96| 
	.line	20
        MVDK      *SP(1),*(AR1)         ; |97| 
        ST        #0,*AR1(2)            ; |97| 
	.line	21
        LD        *SP(0),A              ; |98| 
        MVDK      *SP(1),*(AR1)         ; |98| 
        STL       A,*AR1(3)             ; |98| 
	.line	23
        MVDK      *SP(1),*(AR1)         ; |100| 
        ST        #63,*AR1(12)          ; |100| 
	.line	24
        MVDK      *SP(1),*(AR1)         ; |101| 
        ST        #0,*AR1(13)           ; |101| 
	.line	26
        LD        *SP(1),A              ; |103| 
        CALL      #_OS_EventWaitListInit ; |103| 
        ; call occurs [#_OS_EventWaitListInit] ; |103| 
L6:    
	.line	28
        LD        *SP(1),A              ; |105| 
L7:    
	.line	29
        FRAME     #2                    ; |106| 
        POPM      AR1                   ; |106| 
        RET       ; |106| 
        ; return occurs ; |106| 
	.endfunc	106,000000400h,3


	.sect	".text"
	.global	_OSMboxDel
	.sym	_OSMboxDel,_OSMboxDel, 104, 2, 0, _os_event
	.func	145

;***************************************************************
;* FUNCTION DEF: _OSMboxDel                                    *
;***************************************************************
_OSMboxDel:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_opt,6, 14, 9, 16
	.sym	_err,7, 30, 9, 16
	.sym	_pevent,2, 24, 1, 16, _os_event
	.sym	_tasks_waiting,3, 14, 1, 16
        PSHM      AR1
        FRAME     #-4
        NOP
	.line	2
        STL       A,*SP(2)              ; |146| 
	.line	9
        LD        *(_OSIntNesting),A    ; |153| 
        BC        L8,AEQ                ; |153| 
        ; branch occurs ; |153| 
	.line	10
        MVDK      *SP(7),*(AR1)         ; |154| 
        ST        #140,*AR1             ; |154| 
	.line	11
        BD        L20                   ; |155| 
        NOP
        LD        *SP(2),A              ; |155| 
        ; branch occurs ; |155| 
L8:    
	.line	14
        LD        *SP(2),A              ; |158| 
        BC        L9,ANEQ               ; |158| 
        ; branch occurs ; |158| 
	.line	15
        MVDK      *SP(7),*(AR1)         ; |159| 
        ST        #4,*AR1               ; |159| 
	.line	16
        BD        L20                   ; |160| 
        NOP
        LD        *SP(2),A              ; |160| 
        ; branch occurs ; |160| 
L9:    
	.line	19
        MVDK      *SP(2),*(AR1)         ; |163| 
        CMPM      *AR1,#1               ; |163| 
        BC        L10,TC                ; |163| 
        ; branch occurs ; |163| 
	.line	20
        MVDK      *SP(7),*(AR1)         ; |164| 
        ST        #1,*AR1               ; |164| 
	.line	21
        BD        L20                   ; |165| 
        NOP
        LD        *SP(2),A              ; |165| 
        ; branch occurs ; |165| 
L10:    
	.line	23
 ssbx INTM
	.line	24
        LD        *AR1(1),A             ; |168| 
        BC        L11,AEQ               ; |168| 
        ; branch occurs ; |168| 
	.line	25
        ST        #1,*SP(3)             ; |169| 
	.line	26
        B         L19                   ; |170| 
        ; branch occurs ; |170| 
L11:    
	.line	27
        ST        #0,*SP(3)             ; |171| 
	.line	29
        B         L19                   ; |173| 
        ; branch occurs ; |173| 
L12:    
	.line	31
        LD        *SP(3),A              ; |175| 
        BC        L13,ANEQ              ; |175| 
        ; branch occurs ; |175| 
	.line	33
        MVDK      *SP(2),*(AR1)         ; |177| 
        ST        #63,*AR1(12)          ; |177| 
	.line	34
        MVDK      *SP(2),*(AR1)         ; |178| 
        ST        #0,*AR1(13)           ; |178| 
	.line	36
        MVDK      *SP(2),*(AR1)         ; |180| 
        ST        #0,*AR1               ; |180| 
	.line	37
        MVDK      *SP(2),*(AR1)         ; |181| 
        MVKD      *(_OSEventFreeList),*AR1(3) ; |181| 
	.line	38
        MVDK      *SP(2),*(AR1)         ; |182| 
        ST        #0,*AR1(2)            ; |182| 
	.line	39
        MVDK      *SP(2),*(_OSEventFreeList) ; |183| 
	.line	40
 rsbx INTM
	.line	41
        MVDK      *SP(7),*(AR1)         ; |185| 
        ST        #0,*AR1               ; |185| 
	.line	42
        BD        L20                   ; |186| 
        NOP
        LD        #0,A                  ; |186| 
        ; branch occurs ; |186| 
	.line	43

⌨️ 快捷键说明

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