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

📄 os_q.asm

📁 该代码采用c5400dsp的汇编语言和c语言实现ucos操作系统
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	.line	39
        LD        *SP(0),A
        CALL      #_OSEventTO           ; |272| 
        ; call occurs [#_OSEventTO] ; |272| 
	.line	40
 rsbx INTM
	.line	41
        ST        #0,*SP(1)             ; |274| 
	.line	42
        MVDK      *SP(7),*(AR1)
        ST        #10,*AR1              ; |275| 
	.line	43
        B         L20                   ; |276| 
        ; branch occurs ; |276| 
L18:    
	.line	44
        MVDK      *SP(2),*(AR1)
        MVDK      *SP(2),*(AR2)
        MVDK      *AR1(4),*(AR1)
        LD        *AR1+,A
        MVKD      *(AR1),*AR2(4)
        STL       A,*SP(1)
	.line	45
        MVDK      *SP(2),*(AR1)
        ADDM      #-1,*AR1(6)           ; |278| 
	.line	46
        MVDK      *SP(2),*(AR1)
        MVMM      AR1,AR2
        LD        *AR2(4),A             ; |279| 
        SUB       *AR1(2),A             ; |279| 
        BC        L19,ANEQ              ; |279| 
        ; branch occurs ; |279| 
	.line	47
        LD        *AR1(1),A
        STL       A,*AR1(4)
L19:    
	.line	49
        MVDM      *(_OSTCBCur),AR1
        NOP
        ST        #0,*AR1(3)            ; |282| 
	.line	50
 rsbx INTM
	.line	51
        MVDK      *SP(7),*(AR1)
        ST        #0,*AR1               ; |284| 
L20:    
	.line	54
        LD        *SP(1),A
L21:    
	.line	55
        FRAME     #4                    ; |287| 
        POPM      AR1                   ; |287| 
        RET       ; |287| 
        ; return occurs ; |287| 
	.endfunc	288,000000400h,5


	.sect	".text"
	.global	_OSQPost
	.sym	_OSQPost,_OSQPost, 46, 2, 0
	.func	306

;***************************************************************
;* FUNCTION DEF: _OSQPost                                      *
;***************************************************************
_OSQPost:
	.line	2
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, $$fake0
	.sym	_msg,6, 16, 9, 16
	.sym	_pevent,2, 24, 1, 16, $$fake0
	.sym	_pq,3, 24, 1, 16, _os_q
        PSHM      AR1
        FRAME     #-4
        NOP
        STL       A,*SP(2)
	.line	6
 ssbx INTM
	.line	7
        STLM      A,AR1
        NOP
        NOP
        CMPM      *AR1(4),#2            ; |312| 
        BC        L22,TC                ; |312| 
        ; branch occurs ; |312| 
	.line	8
 rsbx INTM
	.line	9
        BD        L26                   ; |314| 
        NOP
        LD        #1,A
        ; branch occurs ; |314| 
L22:    
	.line	11
        LD        *AR1(5),A             ; |316| 
        BC        L23,AEQ               ; |316| 
        ; branch occurs ; |316| 
	.line	12
        LD        *SP(6),A
        ST        #4,*SP(1)             ; |317| 
        STL       A,*SP(0)
        CALLD     #_OSEventTaskRdy      ; |317| 
        NOP
        LDM       AR1,A
        ; call occurs [#_OSEventTaskRdy] ; |317| 
	.line	13
 rsbx INTM
	.line	14
        CALL      #_OSSched             ; |319| 
        ; call occurs [#_OSSched] ; |319| 
	.line	15
        BD        L26                   ; |320| 
        NOP
        LD        #0,A
        ; branch occurs ; |320| 
L23:    
	.line	17
        LD        *AR1,A
        STL       A,*SP(3)
	.line	18
        STLM      A,AR1
        NOP
        NOP
        MVDK      *AR1(5),*(AR0)
        MVDK      *AR1(6),*(AR1)
        CMPR      1,AR1                 ; |323| 
        BC        L24,TC                ; |323| 
        ; branch occurs ; |323| 
	.line	19
 rsbx INTM
	.line	20
        BD        L26                   ; |325| 
        NOP
        LD        #30,A
        ; branch occurs ; |325| 
L24:    
	.line	22
        STLM      A,AR1
        NOP
        NOP
        MVDK      *AR1(3),*(AR2)
        LDM       AR2,A
        ADD       #1,A,A                ; |327| 
        STL       A,*AR1(3)
        LD        *SP(6),A
        STL       A,*AR2
	.line	23
        MVDK      *SP(3),*(AR1)
        ADDM      #1,*AR1(6)            ; |328| 
	.line	24
        MVDK      *SP(3),*(AR1)
        MVMM      AR1,AR2
        LD        *AR2(3),A             ; |329| 
        SUB       *AR1(2),A             ; |329| 
        BC        L25,ANEQ              ; |329| 
        ; branch occurs ; |329| 
	.line	25
        LD        *AR1(1),A
        STL       A,*AR1(3)
L25:    
	.line	27
 rsbx INTM
	.line	29
        LD        #0,A
L26:    
	.line	31
        FRAME     #4                    ; |334| 
        POPM      AR1                   ; |334| 
        RET       ; |334| 
        ; return occurs ; |334| 
	.endfunc	336,000000400h,5


	.sect	".text"
	.global	_OSQPostFront
	.sym	_OSQPostFront,_OSQPostFront, 46, 2, 0
	.func	356

;***************************************************************
;* FUNCTION DEF: _OSQPostFront                                 *
;***************************************************************
_OSQPostFront:
	.line	2
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, $$fake0
	.sym	_msg,6, 16, 9, 16
	.sym	_pevent,2, 24, 1, 16, $$fake0
	.sym	_pq,3, 24, 1, 16, _os_q
        PSHM      AR1
        FRAME     #-4
        NOP
        STL       A,*SP(2)
	.line	6
 ssbx INTM
	.line	7
        STLM      A,AR1
        NOP
        NOP
        CMPM      *AR1(4),#2            ; |362| 
        BC        L27,TC                ; |362| 
        ; branch occurs ; |362| 
	.line	8
 rsbx INTM
	.line	9
        BD        L31                   ; |364| 
        NOP
        LD        #1,A
        ; branch occurs ; |364| 
L27:    
	.line	11
        LD        *AR1(5),A             ; |366| 
        BC        L28,AEQ               ; |366| 
        ; branch occurs ; |366| 
	.line	12
        LD        *SP(6),A
        ST        #4,*SP(1)             ; |367| 
        STL       A,*SP(0)
        CALLD     #_OSEventTaskRdy      ; |367| 
        NOP
        LDM       AR1,A
        ; call occurs [#_OSEventTaskRdy] ; |367| 
	.line	13
 rsbx INTM
	.line	14
        CALL      #_OSSched             ; |369| 
        ; call occurs [#_OSSched] ; |369| 
	.line	15
        BD        L31                   ; |370| 
        NOP
        LD        #0,A
        ; branch occurs ; |370| 
L28:    
	.line	17
        LD        *AR1,A
        STL       A,*SP(3)
	.line	18
        STLM      A,AR1
        NOP
        NOP
        MVDK      *AR1(5),*(AR0)
        MVDK      *AR1(6),*(AR1)
        CMPR      1,AR1                 ; |373| 
        BC        L29,TC                ; |373| 
        ; branch occurs ; |373| 
	.line	19
 rsbx INTM
	.line	20
        BD        L31                   ; |375| 
        NOP
        LD        #30,A
        ; branch occurs ; |375| 
L29:    
	.line	22
        STLM      A,AR1
        NOP
        STLM      A,AR2
        LD        *AR1(4),A             ; |377| 
        SUB       *AR2(1),A             ; |377| 
        BC        L30,ANEQ              ; |377| 
        ; branch occurs ; |377| 
	.line	23
        LD        *AR1(2),A
        STL       A,*AR1(4)
L30:    
	.line	25
        MVDK      *SP(3),*(AR1)
        ADDM      #-1,*AR1(4)           ; |380| 
	.line	26
        MVDK      *SP(3),*(AR1)
        LD        *SP(6),A
        MVDK      *AR1(4),*(AR1)
        STL       A,*AR1
	.line	27
        MVDK      *SP(3),*(AR1)
        ADDM      #1,*AR1(6)            ; |382| 
	.line	28
 rsbx INTM
	.line	30
        LD        #0,A
L31:    
	.line	32
        FRAME     #4                    ; |385| 
        POPM      AR1                   ; |385| 
        RET       ; |385| 
        ; return occurs ; |385| 
	.endfunc	387,000000400h,5


	.sect	".text"
	.global	_OSQQuery
	.sym	_OSQQuery,_OSQQuery, 46, 2, 0
	.func	405

;***************************************************************
;* FUNCTION DEF: _OSQQuery                                     *
;***************************************************************
_OSQQuery:
	.line	2
;* A     assigned to _pevent
	.sym	_pevent,0, 24, 17, 16, $$fake0
	.sym	_pdata,7, 24, 9, 16, $$fake1
	.sym	_pevent,0, 24, 1, 16, $$fake0
	.sym	_pq,1, 24, 1, 16, _os_q
	.sym	_i,2, 14, 1, 16
	.sym	_psrc,3, 30, 1, 16
	.sym	_pdest,4, 30, 1, 16
        PSHM      AR1
        FRAME     #-5
        NOP
        STL       A,*SP(0)
	.line	9
 ssbx INTM
	.line	10
        STLM      A,AR1
        NOP
        NOP
        CMPM      *AR1(4),#2            ; |414| 
        BC        L32,TC                ; |414| 
        ; branch occurs ; |414| 
	.line	11
 rsbx INTM
	.line	12
        BD        L37                   ; |416| 
        NOP
        LD        #1,A
        ; branch occurs ; |416| 
L32:    
	.line	14
        LD        *AR1(5),A
        MVDK      *SP(7),*(AR1)
        STL       A,*AR1(5)
	.line	15
        LD        *SP(0),A
        ADD       #1,A
        STL       A,*SP(3)
	.line	16
        LD        #3,A
        ADD       *SP(7),A              ; |420| 
        STL       A,*SP(4)
	.line	17
        STM       #2,AR0
        ST        #0,*SP(2)             ; |421| 
        MVDK      *SP(2),*(AR1)
        CMPR      1,AR1                 ; |421| 
        BC        L34,NTC               ; |421| 
        ; branch occurs ; |421| 
L33:    
	.line	18
        MVDK      *SP(3),*(AR1)
        LD        *AR1+,B
        MVKD      *(AR1),*SP(3)
        MVDK      *SP(4),*(AR1)
        LDM       AR1,A
        ADD       #1,A,A                ; |422| 
        STL       A,*SP(4)
        STL       B,*AR1
	.line	19
        ADDM      #1,*SP(2)             ; |423| 
        MVDK      *SP(2),*(AR1)
        CMPR      1,AR1                 ; |423| 
        BC        L33,TC                ; |423| 
        ; branch occurs ; |423| 
L34:    
	.line	20
        MVDK      *SP(0),*(AR1)
        LD        *AR1,A
        STL       A,*SP(1)
	.line	21
        STLM      A,AR1
        NOP
        NOP
        LD        *AR1(6),A             ; |425| 
        BC        L35,AEQ               ; |425| 
        ; branch occurs ; |425| 
	.line	22
        MVMM      AR1,AR2
        MVDK      *SP(7),*(AR3)
        MAR       *+AR2(#4)
        MVDD      *AR2,*AR3             ; |426| 
	.line	23
        B         L36                   ; |427| 
        ; branch occurs ; |427| 
L35:    
	.line	24
        MVDK      *SP(7),*(AR1)
        ST        #0,*AR1               ; |428| 
L36:    
	.line	26
        MVDK      *SP(1),*(AR1)
        LD        *AR1(6),A
        MVDK      *SP(7),*(AR1)
        STL       A,*AR1(1)
	.line	27
        MVDK      *SP(1),*(AR1)
        LD        *AR1(5),A
        MVDK      *SP(7),*(AR1)
        STL       A,*AR1(2)
	.line	28
 rsbx INTM
	.line	29
        LD        #0,A
L37:    
	.line	30
        FRAME     #5                    ; |433| 
        POPM      AR1                   ; |433| 
        RET       ; |433| 
        ; return occurs ; |433| 
	.endfunc	434,000000400h,6


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_OSEventTaskRdy
	.global	_OSEventTaskWait
	.global	_OSEventTO
	.global	_OSEventWaitListInit
	.global	_OSSched
	.global	_OSEventFreeList
	.global	_OSIntNesting
	.global	_OSTCBCur

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_OS_STK, 0, 14, 13, 16
	.stag	$$fake0, 96
	.member	_OSEventPtr, 0, 16, 8, 16
	.member	_OSEventTbl, 16, 62, 8, 32, , 2
	.member	_OSEventCnt, 48, 14, 8, 16
	.member	_OSEventType, 64, 14, 8, 16
	.member	_OSEventGrp, 80, 14, 8, 16
	.eos
	.sym	_OS_EVENT, 0, 8, 13, 96,$$fake0
	.stag	$$fake1, 96
	.member	_OSMsg, 0, 16, 8, 16
	.member	_OSNMsgs, 16, 14, 8, 16
	.member	_OSQSize, 32, 14, 8, 16
	.member	_OSEventTbl, 48, 62, 8, 32, , 2
	.member	_OSEventGrp, 80, 14, 8, 16
	.eos
	.sym	_OS_Q_DATA, 0, 8, 13, 96,$$fake1
	.stag	_os_tcb, 192
	.member	_OSTCBStkPtr, 0, 30, 8, 16
	.member	_OSTCBNext, 16, 24, 8, 16, _os_tcb
	.member	_OSTCBPrev, 32, 24, 8, 16, _os_tcb
	.member	_OSTCBEventPtr, 48, 24, 8, 16, $$fake0
	.member	_OSTCBMsg, 64, 16, 8, 16
	.member	_OSTCBDly, 80, 14, 8, 16
	.member	_OSTCBStat, 96, 14, 8, 16
	.member	_OSTCBPrio, 112, 14, 8, 16
	.member	_OSTCBX, 128, 14, 8, 16
	.member	_OSTCBY, 144, 14, 8, 16
	.member	_OSTCBBitX, 160, 14, 8, 16
	.member	_OSTCBBitY, 176, 14, 8, 16
	.eos
	.sym	_OS_TCB, 0, 8, 13, 192,_os_tcb
	.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

⌨️ 快捷键说明

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