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

📄 os_q.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.50 *
;* Date/Time created: Wed Apr 07 11:37:10 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_q.obj --opt_shell 5 os_q.c os_q.c -gk -as -fr. os_q.c 
	.file	"os_q.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_q, 112
	.member	_OSQPtr, 0, 24, 8, 16, _os_q
	.member	_OSQStart, 16, 80, 8, 16
	.member	_OSQEnd, 32, 80, 8, 16
	.member	_OSQIn, 48, 80, 8, 16
	.member	_OSQOut, 64, 80, 8, 16
	.member	_OSQSize, 80, 14, 8, 16
	.member	_OSQEntries, 96, 14, 8, 16
	.eos
	.sym	_OS_Q, 0, 8, 13, 112,_os_q
	.stag	_os_q_data, 192
	.member	_OSMsg, 0, 16, 8, 16
	.member	_OSNMsgs, 16, 14, 8, 16
	.member	_OSQSize, 32, 14, 8, 16
	.member	_OSEventTbl, 48, 62, 8, 128, , 8
	.member	_OSEventGrp, 176, 14, 8, 16
	.eos
	.sym	_OS_Q_DATA, 0, 8, 13, 192,_os_q_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_q.c"
	.file	".\ucos_ii.h"
	.file	"os_q.c"
	.sect	".text"
	.global	_OSQAccept
	.sym	_OSQAccept,_OSQAccept, 96, 2, 0
	.func	52

;***************************************************************
;* FUNCTION DEF: _OSQAccept                                    *
;***************************************************************
_OSQAccept:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_err,5, 30, 9, 16
	.sym	_pevent,0, 24, 1, 16, _os_event
	.sym	_msg,1, 16, 1, 16
	.sym	_pq,2, 24, 1, 16, _os_q
        PSHM      AR1
        FRAME     #-3
        NOP
	.line	2
        STL       A,*SP(0)              ; |53| 
	.line	11
        LD        *SP(0),A              ; |62| 
        BC        L1,ANEQ               ; |62| 
        ; branch occurs ; |62| 
	.line	12
        MVDK      *SP(5),*(AR1)         ; |63| 
        ST        #4,*AR1               ; |63| 
	.line	13
        BD        L6                    ; |64| 
        NOP
        LD        #0,A                  ; |64| 
        ; branch occurs ; |64| 
L1:    
	.line	16
        MVDK      *SP(0),*(AR1)         ; |67| 
        CMPM      *AR1,#2               ; |67| 
        BC        L2,TC                 ; |67| 
        ; branch occurs ; |67| 
	.line	17
        MVDK      *SP(5),*(AR1)         ; |68| 
        ST        #1,*AR1               ; |68| 
	.line	18
        BD        L6                    ; |69| 
        NOP
        LD        #0,A                  ; |69| 
        ; branch occurs ; |69| 
L2:    
	.line	20
 ssbx INTM
	.line	21
        LD        *AR1(3),A             ; |72| 
        STL       A,*SP(2)              ; |72| 
	.line	22
        STLM      A,AR1
        NOP
        NOP
        LD        *AR1(6),A             ; |73| 
        BC        L4,AEQ                ; |73| 
        ; branch occurs ; |73| 
	.line	23
        MVDK      *AR1(4),*(AR1)        ; |74| 
        MVDK      *SP(2),*(AR2)         ; |74| 
        LD        *AR1+,A               ; |74| 
        MVKD      *(AR1),*AR2(4)        ; |74| 
        STL       A,*SP(1)              ; |74| 
	.line	24
        MVDK      *SP(2),*(AR1)         ; |75| 
        ADDM      #-1,*AR1(6)           ; |75| 
	.line	25
        MVDK      *SP(2),*(AR2)         ; |76| 
        MVMM      AR2,AR1               ; |76| 
        LD        *AR1(4),A             ; |76| 
        SUB       *AR2(2),A             ; |76| 
        BC        L3,ANEQ               ; |76| 
        ; branch occurs ; |76| 
	.line	26
        LD        *AR1(1),A             ; |77| 
        STL       A,*AR1(4)             ; |77| 
L3:    
	.line	28
        MVDK      *SP(5),*(AR1)         ; |79| 
        ST        #0,*AR1               ; |79| 
	.line	29
        B         L5                    ; |80| 
        ; branch occurs ; |80| 
L4:    
	.line	30
        MVDK      *SP(5),*(AR1)         ; |81| 
        ST        #31,*AR1              ; |81| 
	.line	31
        ST        #0,*SP(1)             ; |82| 
L5:    
	.line	33
 rsbx INTM
	.line	34
        LD        *SP(1),A              ; |85| 
L6:    
	.line	35
        FRAME     #3                    ; |86| 
        POPM      AR1                   ; |86| 
        RET       ; |86| 
        ; return occurs ; |86| 
	.endfunc	86,000000400h,4


	.sect	".text"
	.global	_OSQCreate
	.sym	_OSQCreate,_OSQCreate, 104, 2, 0, _os_event
	.func	108

;***************************************************************
;* FUNCTION DEF: _OSQCreate                                    *
;***************************************************************
_OSQCreate:
;* A     assigned to _start
	.sym	_start,0, 80, 17, 16
	.sym	_size,6, 14, 9, 16
	.sym	_start,0, 80, 1, 16
	.sym	_pevent,1, 24, 1, 16, _os_event
	.sym	_pq,2, 24, 1, 16, _os_q
        PSHM      AR1
        FRAME     #-4
        NOP
	.line	2
        STL       A,*SP(0)              ; |109| 
	.line	10
        LD        *(_OSIntNesting),A    ; |117| 
        BC        L7,AEQ                ; |117| 
        ; branch occurs ; |117| 
	.line	11
        BD        L11                   ; |118| 
        NOP
        LD        #0,A                  ; |118| 
        ; branch occurs ; |118| 
L7:    
	.line	13
 ssbx INTM
	.line	14
        MVKD      *(_OSEventFreeList),*SP(1) ; |121| 
	.line	15
        LD        *(_OSEventFreeList),A ; |122| 
        BC        L8,AEQ                ; |122| 
        ; branch occurs ; |122| 
	.line	16
        MVDM      *(_OSEventFreeList),AR1 ; |123| 
        NOP
        MVDK      *AR1(3),*(_OSEventFreeList) ; |123| 
L8:    
	.line	18
 rsbx INTM
	.line	19
        LD        *SP(1),A              ; |126| 
        BC        L10,AEQ               ; |126| 
        ; branch occurs ; |126| 
	.line	20
 ssbx INTM
	.line	21
        MVKD      *(_OSQFreeList),*SP(2) ; |128| 
	.line	22
        LD        *SP(2),A              ; |129| 
        BC        L9,AEQ                ; |129| 
        ; branch occurs ; |129| 
	.line	23
        MVDM      *(_OSQFreeList),AR1   ; |130| 
        NOP
        MVDK      *AR1,*(_OSQFreeList)  ; |130| 
	.line	24
 rsbx INTM
	.line	25
        LD        *SP(0),A              ; |132| 
        MVDK      *SP(2),*(AR1)         ; |132| 
        STL       A,*AR1(1)             ; |132| 
	.line	26
        LD        *SP(6),A              ; |133| 
        MVDK      *SP(2),*(AR1)         ; |133| 
        ADD       *SP(0),A              ; |133| 
        STL       A,*AR1(2)             ; |133| 
	.line	27
        MVDK      *SP(2),*(AR1)         ; |134| 
        LD        *SP(0),A              ; |134| 
        STL       A,*AR1(3)             ; |134| 
	.line	28
        MVDK      *SP(2),*(AR1)         ; |135| 
        LD        *SP(0),A              ; |135| 
        STL       A,*AR1(4)             ; |135| 
	.line	29
        MVDK      *SP(2),*(AR1)         ; |136| 
        LD        *SP(6),A              ; |136| 
        STL       A,*AR1(5)             ; |136| 
	.line	30
        MVDK      *SP(2),*(AR1)         ; |137| 
        ST        #0,*AR1(6)            ; |137| 
	.line	31
        MVDK      *SP(1),*(AR1)         ; |138| 
        ST        #2,*AR1               ; |138| 
	.line	32
        MVDK      *SP(1),*(AR1)         ; |139| 
        ST        #0,*AR1(2)            ; |139| 
	.line	33
        MVDK      *SP(1),*(AR1)         ; |140| 
        LD        *SP(2),A              ; |140| 
        STL       A,*AR1(3)             ; |140| 
	.line	35
        MVDK      *SP(1),*(AR1)         ; |142| 
        ST        #63,*AR1(12)          ; |142| 
	.line	36
        MVDK      *SP(1),*(AR1)         ; |143| 
        ST        #0,*AR1(13)           ; |143| 
	.line	38
        LD        *SP(1),A              ; |145| 
        CALL      #_OS_EventWaitListInit ; |145| 
        ; call occurs [#_OS_EventWaitListInit] ; |145| 
	.line	39
        B         L10                   ; |146| 
        ; branch occurs ; |146| 
L9:    
	.line	40
        MVDK      *SP(1),*(AR1)         ; |147| 
        MVKD      *(_OSEventFreeList),*AR1(3) ; |147| 
	.line	41
        MVDK      *SP(1),*(_OSEventFreeList) ; |148| 
	.line	42
 rsbx INTM
	.line	43
        ST        #0,*SP(1)             ; |150| 
L10:    
	.line	46
        LD        *SP(1),A              ; |153| 
L11:    
	.line	47
        FRAME     #4                    ; |154| 
        POPM      AR1                   ; |154| 
        RET       ; |154| 
        ; return occurs ; |154| 
	.endfunc	154,000000400h,5


	.sect	".text"
	.global	_OSQDel
	.sym	_OSQDel,_OSQDel, 104, 2, 0, _os_event
	.func	198

;***************************************************************
;* FUNCTION DEF: _OSQDel                                       *
;***************************************************************
_OSQDel:
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, _os_event
	.sym	_opt,8, 14, 9, 16
	.sym	_err,9, 30, 9, 16
	.sym	_pevent,2, 24, 1, 16, _os_event
	.sym	_tasks_waiting,3, 14, 1, 16
	.sym	_pq,4, 24, 1, 16, _os_q
        PSHM      AR1
        FRAME     #-6
        NOP
	.line	2
        STL       A,*SP(2)              ; |199| 
	.line	10
        LD        *(_OSIntNesting),A    ; |207| 
        BC        L12,AEQ               ; |207| 
        ; branch occurs ; |207| 
	.line	11
        MVDK      *SP(9),*(AR1)         ; |208| 
        ST        #140,*AR1             ; |208| 
	.line	12
        BD        L24                   ; |209| 
        NOP
        LD        #0,A                  ; |209| 
        ; branch occurs ; |209| 
L12:    
	.line	15
        LD        *SP(2),A              ; |212| 
        BC        L13,ANEQ              ; |212| 
        ; branch occurs ; |212| 
	.line	16
        MVDK      *SP(9),*(AR1)         ; |213| 
        ST        #4,*AR1               ; |213| 
	.line	17
        BD        L24                   ; |214| 
        NOP
        LD        *SP(2),A              ; |214| 
        ; branch occurs ; |214| 
L13:    
	.line	20
        MVDK      *SP(2),*(AR1)         ; |217| 

⌨️ 快捷键说明

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