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

📄 mainfilter.asm

📁 基于ti tms320c6713下MSBSP、EDMA 配置和简单FIR算法的一个例子
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	.word	000000000h		; _h[67] @ 2144
IR_15:	.set	272

	.sect	".text"
	.global	_h
	.bss	_h,272,8
	.global	_hMcbsp0
	.bss	_hMcbsp0,4,4

	.sect	".cinit"
	.align	8
	.field  	IR_16,32
	.field  	_mcbspCfg0+0,32
	.field  	393216,32			; _mcbspCfg0._spcr @ 0
	.field  	262560,32			; _mcbspCfg0._rcr @ 32
	.field  	262560,32			; _mcbspCfg0._xcr @ 64
	.field  	272572163,32			; _mcbspCfg0._srgr @ 96
	.field  	0,32			; _mcbspCfg0._mcr @ 128
	.field  	0,32			; _mcbspCfg0._rcer @ 160
	.field  	0,32			; _mcbspCfg0._xcer @ 192
	.field  	2563,32			; _mcbspCfg0._pcr @ 224
IR_16:	.set	32

	.sect	".text"
	.bss	_mcbspCfg0,32,4
	.global	_hMcbsp1
	.bss	_hMcbsp1,4,4

	.sect	".cinit"
	.align	8
	.field  	IR_17,32
	.field  	_mcbspCfg1+0,32
	.field  	393216,32			; _mcbspCfg1._spcr @ 0
	.field  	-2136735584,32			; _mcbspCfg1._rcr @ 32
	.field  	-2136735584,32			; _mcbspCfg1._xcr @ 64
	.field  	272572163,32			; _mcbspCfg1._srgr @ 96
	.field  	0,32			; _mcbspCfg1._mcr @ 128
	.field  	0,32			; _mcbspCfg1._rcer @ 160
	.field  	0,32			; _mcbspCfg1._xcer @ 192
	.field  	2563,32			; _mcbspCfg1._pcr @ 224
IR_17:	.set	32

	.sect	".text"
	.bss	_mcbspCfg1,32,4

	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _RecvMcbspDat @ 0

	.sect	".text"
	.global	_RecvMcbspDat
_RecvMcbspDat:	.usect	".bss:c",4,4

	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _SendMcbspDat @ 0

	.sect	".text"
	.global	_SendMcbspDat
_SendMcbspDat:	.usect	".bss:c",4,4

	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _SendCnt @ 0

	.sect	".text"
	.global	_SendCnt
_SendCnt:	.usect	".bss:c",4,4

	.sect	".cinit:c"
	.align	2
	.field  	0,16			; _bypass_bit @ 0

	.sect	".text"
	.global	_bypass_bit
_bypass_bit:	.usect	".bss:c",2,2

	.sect	".cinit:c"
	.align	4
	.field  	1,32			; _firstatus @ 0

	.sect	".text"
	.global	_firstatus
_firstatus:	.usect	".bss:c",4,4

	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _i$1 @ 0

	.sect	".text"
_i$1:	.usect	".bss:c",4,4

	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _j$2 @ 0

	.sect	".text"
_j$2:	.usect	".bss:c",4,4

	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _ExtIntCnt$3 @ 0

	.sect	".text"
_ExtIntCnt$3:	.usect	".bss:c",4,4
;	e:\ti\c6000\cgtools\bin\opt6x.exe -v6700 -q -s -O3 D:\DOCUME~1\davis\LOCALS~1\Temp\TI2900_2 D:\DOCUME~1\davis\LOCALS~1\Temp\TI2900_5 -w C:/c6713/Source Code/DSPSRC/Audiocfg_FIR/Release 

	.sect	".text"
	.global	_xint0

;******************************************************************************
;* FUNCTION NAME: _xint0                                                      *
;*                                                                            *
;*   Regs Modified     : B0,B4,B5,B6,SP                                       *
;*   Regs Used         : B0,B4,B5,B6,DP,SP                                    *
;*   Local Frame Size  : 0 Args + 0 Auto + 16 Save = 16 byte                  *
;******************************************************************************
_xint0:
;** --------------------------------------------------------------------------*
;** 205	-----------------------    if ( (C$1 = SendCnt) > 10000u ) goto g2;
;** 208	-----------------------    SendCnt = C$1+1u;
;** 208	-----------------------    goto g3;
;**	-----------------------g2:
;** 206	-----------------------    SendCnt = 0u;
;**	-----------------------g3:
;** 209	-----------------------    SendMcbspDat = RecvMcbspDat;
;** 209	-----------------------    return;
           STW     .D2T2   B6,*SP--(16)      ; |204| 
           STW     .D2T2   B5,*+SP(12)       ; |204| 
           STW     .D2T2   B4,*+SP(8)        ; |204| 
           LDW     .D2T2   *+DP(_RecvMcbspDat),B5 ; |209| 
           LDW     .D2T2   *+DP(_SendCnt),B4 ; |205| 
           MVK     .S2     10000,B6          ; |205| 
           STW     .D2T2   B0,*+SP(4)        ; |204| 
           NOP             1
           STW     .D2T2   B5,*+DP(_SendMcbspDat) ; |209| 

           CMPGTU  .L2     B4,B6,B0          ; |205| 
||         ZERO    .S2     B5                ; |206| 

           ADD     .S2     1,B4,B4           ; |208| 
|| [ B0]   STW     .D2T2   B5,*+DP(_SendCnt) ; |206| 

   [!B0]   STW     .D2T2   B4,*+DP(_SendCnt) ; |208| 
           LDW     .D2T2   *+SP(4),B0        ; |210| 

           RET     .S2     IRP               ; |210| 
||         LDDW    .D2T2   *+SP(8),B5:B4     ; |210| 

           LDW     .D2T2   *++SP(16),B6      ; |210| 
           NOP             4
           ; BRANCH OCCURS                   ; |210| 



	.sect	".text"

;******************************************************************************
;* FUNCTION NAME: _GPIO_pinWrite                                              *
;*                                                                            *
;*   Regs Modified     : A0,A1,A3,A4,B4,B5,B6,SP                              *
;*   Regs Used         : A0,A1,A3,A4,A6,B3,B4,B5,B6,SP                        *
;*   Local Frame Size  : 0 Args + 4 Auto + 0 Save = 4 byte                    *
;******************************************************************************
_GPIO_pinWrite:
;** --------------------------------------------------------------------------*
;** 268	-----------------------    U$7 = (volatile unsigned *)(unsigned)(hGpio->baseAddr+8);
;** 268	-----------------------    gpval = *U$7;
;** 269	-----------------------    if ( val ) goto g2;
;** 270	-----------------------    *U$7 = ~pinId&hGpio->pinAllocMask&gpval;
;** 271	-----------------------    goto g3;
;**	-----------------------g2:
;** 272	-----------------------    *U$7 = hGpio->pinAllocMask&pinId|gpval;
;**	-----------------------g3:
;**  	-----------------------    return;
           LDW     .D1T1   *+A4(4),A0        ; |268| 
           MV      .D1     A6,A1             ; |267| 
   [ A1]   LDW     .D1T1   *+A4(8),A4        ; |272| 
           SUB     .D2     SP,8,SP           ; |267| 
           NOT     .L2     B4,B5             ; |270| 
           ADD     .D1     8,A0,A0           ; |268| 
           LDW     .D1T1   *A0,A3            ; |268| 
   [ A1]   AND     .S2X    B4,A4,B4          ; |272| 
           NOP             3
           STW     .D2T1   A3,*+SP(4)        ; |268| 

   [ A1]   LDW     .D2T2   *+SP(4),B6        ; |272| 
|| [!A1]   LDW     .D1T1   *+A4(8),A3        ; |270| 

   [!A1]   LDW     .D2T2   *+SP(4),B6        ; |270| 
           RET     .S2     B3                ; |275| 
           ADD     .D2     8,SP,SP           ; |275| 
           NOP             1

   [ A1]   OR      .S2     B6,B4,B4          ; |272| 
|| [!A1]   AND     .L2X    A3,B5,B4          ; |270| 

   [ A1]   STW     .D1T2   B4,*A0            ; |272| 
|| [!A1]   AND     .S2     B6,B4,B4          ; |270| 

   [!A1]   STW     .D1T2   B4,*A0            ; |270| 
           ; BRANCH OCCURS                   ; |275| 



	.sect	".text"
	.global	_timer0_isr

;******************************************************************************
;* FUNCTION NAME: _timer0_isr                                                 *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP                                   *
;*   Local Frame Size  : 0 Args + 0 Auto + 80 Save = 80 byte                  *
;******************************************************************************
_timer0_isr:
;** --------------------------------------------------------------------------*
;** 219	-----------------------    if ( (C$1 = i) > 100u ) goto g2;
;** 225	-----------------------    i = C$1+1u;
;**  	-----------------------    U$7 = j;
;** 225	-----------------------    goto g3;
;**	-----------------------g2:
;** 221	-----------------------    i = 0u;
;** 222	-----------------------    j = U$7 = j+1u;
;**	-----------------------g3:
;** 226	-----------------------    if ( U$7 <= 200u ) goto g5;
;** 228	-----------------------    j = 0u;
;** 228	-----------------------    U$7 = 0u;
;**	-----------------------g5:
;** 230	-----------------------    if ( (U$7 != 0u)&(U$7 < (K$1 = 100u)) ) goto g7;
           STW     .D2T1   A9,*SP--(80)      ; |217| 
           STW     .D2T2   B9,*+SP(76)       ; |217| 
           STW     .D2T2   B8,*+SP(72)       ; |217| 
           STW     .D2T2   B7,*+SP(68)       ; |217| 
           STW     .D2T2   B6,*+SP(64)       ; |217| 
           STW     .D2T2   B5,*+SP(60)       ; |217| 
           STW     .D2T2   B4,*+SP(56)       ; |217| 
           STW     .D2T2   B3,*+SP(52)       ; |217| 
           LDW     .D2T2   *+DP(_i$1),B6     ; |219| 
           STW     .D2T2   B2,*+SP(48)       ; |217| 
           LDW     .D2T2   *+DP(_j$2),B5
           STW     .D2T2   B1,*+SP(44)       ; |217| 
           STW     .D2T2   B0,*+SP(40)       ; |217| 
           STW     .D2T1   A7,*+SP(36)       ; |217| 
           STW     .D2T1   A6,*+SP(32)       ; |217| 
           STW     .D2T1   A5,*+SP(28)       ; |217| 
           STW     .D2T1   A4,*+SP(24)       ; |217| 
           STW     .D2T1   A3,*+SP(20)       ; |217| 
           STW     .D2T1   A2,*+SP(16)       ; |217| 
           STW     .D2T1   A1,*+SP(12)       ; |217| 

           MVK     .S1     100,A0            ; |219| 
||         STW     .D2T1   A0,*+SP(8)        ; |217| 

           CMPGTU  .L1X    B6,A0,A1          ; |219| 

   [ A1]   ADD     .D2     1,B5,B5           ; |222| 
||         MVK     .S2     200,B4            ; |226| 

           CMPGTU  .L2     B5,B4,B0          ; |226| 
||         ZERO    .D1     A0                ; |221| 
|| [ A1]   STW     .D2T2   B5,*+DP(_j$2)     ; |222| 

   [ A1]   STW     .D2T1   A0,*+DP(_i$1)     ; |221| 
|| [ B0]   ZERO    .S2     B5                ; |228| 

           CMPEQ   .L2     B5,0,B7           ; |230| 
||         MVK     .S1     0x64,A0           ; |230| 

           XOR     .S2     1,B7,B5           ; |230| 
||         CMPLTU  .L1X    B5,A0,A0          ; |230| 
||         ADD     .D2     1,B6,B6           ; |225| 

           AND     .S1X    A0,B5,A1          ; |230| 
|| [!A1]   STW     .D2T2   B6,*+DP(_i$1)     ; |225| 

   [ A1]   B       .S1     L1                ; |230| 
           STW     .D2T1   A8,*+SP(4)        ; |217| 
           MVKL    .S2     RL0,B3            ; |238| 
           LDW     .D2T1   *+DP(_hGpio),A4   ; |238| 

           ZERO    .D1     A3                ; |228| 
||         MVKH    .S2     RL0,B3            ; |238| 
||         ZERO    .L2     B8                ; |239| 

           ZERO    .L2     B7                ; |233| 
|| [ B0]   STW     .D2T1   A3,*+DP(_j$2)     ; |228| 
||         MVK     .S2     0x2000,B4         ; |238| 
||         ZERO    .D1     A6                ; |238| 

           ; BRANCH OCCURS                   ; |230| 
;** --------------------------------------------------------------------------*
;** 238	-----------------------    GPIO_pinWrite(hGpio, 8192u, 0u);
;** 239	-----------------------    GPIO_pinWrite(hGpio, 32768u, 1u);
;** 239	-----------------------    goto g8;
           CALL    .S1     _GPIO_pinWrite    ; |238| 
           NOP             5
RL0:       ; CALL OCCURS                     ; |238| 
           CALL    .S1     _GPIO_pinWrite    ; |239| 
           LDW     .D2T1   *+DP(_hGpio),A4   ; |239| 
           MVKL    .S2     RL1,B3            ; |239| 
           MVKH    .S2     RL1,B3            ; |239| 
           MVK     .S1     0x1,A6            ; |239| 
           SET     .S2     B8,0xf,0xf,B4     ; |239| 
RL1:       ; CALL OCCURS                     ; |239| 
           B       .S1     L2                ; |239| 
           NOP             5
           ; BRANCH OCCURS                   ; |239| 

⌨️ 快捷键说明

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