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

📄 mainfilter.asm

📁 基于ti tms320c6713下MSBSP、EDMA 配置和简单FIR算法的一个例子
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;** --------------------------------------------------------------------------*
L1:    
;**	-----------------------g7:
;** 232	-----------------------    GPIO_pinWrite(hGpio, 8192u, 1u);
;** 233	-----------------------    GPIO_pinWrite(hGpio, 32768u, 0u);
;**	-----------------------g8:
;**  	-----------------------    return;
           CALL    .S1     _GPIO_pinWrite    ; |232| 
           LDW     .D2T1   *+DP(_hGpio),A4   ; |232| 
           MVKL    .S2     RL2,B3            ; |232| 
           MVKH    .S2     RL2,B3            ; |232| 
           MVK     .S1     0x1,A6            ; |232| 
           NOP             1
RL2:       ; CALL OCCURS                     ; |232| 
           CALL    .S1     _GPIO_pinWrite    ; |233| 
           LDW     .D2T1   *+DP(_hGpio),A4   ; |233| 
           MVKL    .S2     RL3,B3            ; |233| 
           MVKH    .S2     RL3,B3            ; |233| 
           ZERO    .D1     A6                ; |233| 
           SET     .S2     B7,0xf,0xf,B4     ; |233| 
RL3:       ; CALL OCCURS                     ; |233| 
;** --------------------------------------------------------------------------*
L2:    
           LDDW    .D2T2   *+SP(64),B7:B6    ; |241| 
           LDDW    .D2T2   *+SP(56),B5:B4    ; |241| 
           LDDW    .D2T2   *+SP(48),B3:B2    ; |241| 
           LDDW    .D2T2   *+SP(40),B1:B0    ; |241| 
           LDDW    .D2T1   *+SP(32),A7:A6    ; |241| 
           LDDW    .D2T1   *+SP(24),A5:A4    ; |241| 
           LDDW    .D2T1   *+SP(16),A3:A2    ; |241| 
           LDDW    .D2T1   *+SP(8),A1:A0     ; |241| 
           LDW     .D2T1   *+SP(4),A8        ; |241| 

           RET     .S2     IRP               ; |241| 
||         LDDW    .D2T2   *+SP(72),B9:B8    ; |241| 

           LDW     .D2T1   *++SP(80),A9      ; |241| 
           NOP             4
           ; BRANCH OCCURS                   ; |241| 



	.sect	".text"
	.global	_set_interrupts_edma

;******************************************************************************
;* FUNCTION NAME: _set_interrupts_edma                                        *
;*                                                                            *
;*   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,SP                                      *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_set_interrupts_edma:
;** --------------------------------------------------------------------------*
;** 280	-----------------------    C$2 = _IRQ_eventTable[8];  // [7]
;** 280	-----------------------    C$1 = ~C$2;  // [7]
;** 280	-----------------------    IER &= C$1;  // [7]
;** 281	-----------------------    ICR = C$2;  // [7]
;** 240	-----------------------    IER;  // [2]
;** 241	-----------------------    IER &= C$1;  // [2]
;** 185	-----------------------    EDMA_intDisable(12);
;** 186	-----------------------    EDMA_intDisable(13);
;** 258	-----------------------    ICR = _IRQ_eventTable[8];  // [3]
;** 188	-----------------------    EDMA_intClear(12);
;** 189	-----------------------    EDMA_intClear(13);
;** 236	-----------------------    IER |= _IRQ_eventTable[8];  // [1]
;** 191	-----------------------    EDMA_intEnable(12);
;** 192	-----------------------    EDMA_intEnable(13);
;** 192	-----------------------    return;
           MVKL    .S1     __IRQ_eventTable+32,A0 ; |280| 
           MVKH    .S1     __IRQ_eventTable+32,A0 ; |280| 
           LDW     .D1T1   *A0,A0            ; |280| 
           NOP             4

           MVC     .S2     IER,B4            ; |280| 
||         NOT     .S1     A0,A3             ; |280| 
||         STW     .D2T2   B3,*SP--(8)       ; |182| 

           AND     .S1X    A3,B4,A4          ; |280| 
           MVC     .S2X    A4,IER            ; |280| 
           MVC     .S2X    A0,ICR            ; |281| 
           MVC     .S2     IER,B4            ; |241| 
           AND     .S2X    A3,B4,B4          ; |241| 
           MVC     .S2     B4,IER            ; |241| 
           CALL    .S1     _EDMA_intDisable  ; |185| 
           MVKL    .S2     RL4,B3            ; |185| 
           MVKH    .S2     RL4,B3            ; |185| 
           MVK     .S1     0xc,A4            ; |185| 
           NOP             2
RL4:       ; CALL OCCURS                     ; |185| 
           CALL    .S1     _EDMA_intDisable  ; |186| 
           MVKL    .S2     RL5,B3            ; |186| 
           MVK     .S1     0xd,A4            ; |186| 
           MVKH    .S2     RL5,B3            ; |186| 
           NOP             2
RL5:       ; CALL OCCURS                     ; |186| 
           MVKL    .S2     __IRQ_eventTable+32,B4 ; |258| 
           MVKH    .S2     __IRQ_eventTable+32,B4 ; |258| 
           LDW     .D2T2   *B4,B4            ; |258| 
           NOP             4
           MVC     .S2     B4,ICR            ; |258| 
           CALL    .S1     _EDMA_intClear    ; |188| 
           MVKL    .S2     RL6,B3            ; |188| 
           MVKH    .S2     RL6,B3            ; |188| 
           MVK     .S1     0xc,A4            ; |188| 
           NOP             2
RL6:       ; CALL OCCURS                     ; |188| 
           CALL    .S1     _EDMA_intClear    ; |189| 
           MVKL    .S2     RL7,B3            ; |189| 
           MVK     .S1     0xd,A4            ; |189| 
           MVKH    .S2     RL7,B3            ; |189| 
           NOP             2
RL7:       ; CALL OCCURS                     ; |189| 
           MVC     .S2     IER,B5            ; |236| 
           MVKL    .S2     __IRQ_eventTable+32,B4 ; |236| 
           MVKH    .S2     __IRQ_eventTable+32,B4 ; |236| 
           LDW     .D2T2   *B4,B4            ; |236| 
           NOP             4
           OR      .S2     B4,B5,B4          ; |236| 
           MVC     .S2     B4,IER            ; |236| 
           CALL    .S1     _EDMA_intEnable   ; |191| 
           MVKL    .S2     RL8,B3            ; |191| 
           MVK     .S1     0xc,A4            ; |191| 
           MVKH    .S2     RL8,B3            ; |191| 
           NOP             2
RL8:       ; CALL OCCURS                     ; |191| 
           CALLRET .S1     _EDMA_intEnable   ; |192| 
           LDW     .D2T2   *++SP(8),B3       ; |193| 
           MVK     .S1     0xd,A4            ; |192| 
           NOP             3
RL9:       ; CALL OCCURS                     ; |193| ; bypass _set_interrupts_edma upon return



	.sect	".text"
	.global	_rint0

;******************************************************************************
;* FUNCTION NAME: _rint0                                                      *
;*                                                                            *
;*   Regs Modified     : A0,B4,B5,SP                                          *
;*   Regs Used         : A0,B4,B5,DP,SP                                       *
;*   Local Frame Size  : 0 Args + 0 Auto + 12 Save = 12 byte                  *
;******************************************************************************
_rint0:
;** --------------------------------------------------------------------------*
;** 213	-----------------------    RecvMcbspDat = *(volatile unsigned *)0x18c0000u;
;** 214	-----------------------    *(volatile unsigned *)0x18c0004u = SendMcbspDat;
;** 214	-----------------------    return;

           ZERO    .D1     A0                ; |213| 
||         STW     .D2T1   A0,*SP--(16)      ; |212| 

           MVKH    .S1     0x18c0000,A0      ; |213| 

           LDW     .D1T1   *A0,A0            ; |213| 
||         STW     .D2T2   B5,*+SP(12)       ; |212| 

           LDW     .D2T2   *+DP(_SendMcbspDat),B5 ; |214| 
           STW     .D2T2   B4,*+SP(8)        ; |212| 
           MVKL    .S2     0x18c0004,B4      ; |214| 
           MVKH    .S2     0x18c0004,B4      ; |214| 
           STW     .D2T1   A0,*+DP(_RecvMcbspDat) ; |213| 
           STW     .D2T2   B5,*B4            ; |214| 

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

           LDW     .D2T1   *++SP(16),A0      ; |215| 
           NOP             4
           ; BRANCH OCCURS                   ; |215| 



	.sect	".text"
	.global	_SdramInit

;******************************************************************************
;* FUNCTION NAME: _SdramInit                                                  *
;*                                                                            *
;*   Regs Modified     : A0,A3,A4,A5,B0,B4,B5,B6,B7,B8,B9                     *
;*   Regs Used         : A0,A3,A4,A5,B0,B3,B4,B5,B6,B7,B8,B9                  *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_SdramInit:
;** --------------------------------------------------------------------------*
;** 148	-----------------------    *(volatile unsigned *)0x1800000u = 12392u;
;** 149	-----------------------    *(volatile unsigned *)0x1800004u = 0xffffff03u;
;** 150	-----------------------    *(volatile unsigned *)0x1800018u = 0x53116000u;
;** 151	-----------------------    *(volatile unsigned *)0x1800008u = 144u;
;** 152	-----------------------    *(volatile unsigned *)0x180001cu = 1562u;
;** 153	-----------------------    *(volatile unsigned *)0x1800020u = 345385u;
;** 158	-----------------------    *(unsigned *)0x807ffff0u = 0x7799aabbu;
;** 158	-----------------------    return;
           MVKL    .S2     0x1800004,B5      ; |149| 
           MVKL    .S2     0x1800018,B7      ; |150| 
           MVKL    .S2     0x1800008,B9      ; |151| 
           MVKL    .S2     0x180001c,B8      ; |152| 

           MVKL    .S2     0x1800020,B6      ; |153| 
||         MVK     .S1     12392,A3          ; |148| 
||         ZERO    .D2     B0                ; |148| 

           MVKH    .S2     0x1800000,B0      ; |148| 
||         MVKL    .S1     0x53116000,A0     ; |150| 

           MVKH    .S2     0x1800004,B5      ; |149| 
||         MVK     .S1     -253,A5           ; |149| 

           MVKL    .S2     0x7799aabb,B4     ; |158| 
||         MVK     .S1     144,A4            ; |151| 

           STW     .D2T1   A3,*B0            ; |148| 
||         MVKH    .S1     0x53116000,A0     ; |150| 
||         MVKH    .S2     0x1800018,B7      ; |150| 

           RET     .S2     B3                ; |159| 
||         STW     .D2T1   A5,*B5            ; |149| 
||         MVK     .S1     1562,A3           ; |152| 

           MVKL    .S1     0x54529,A0        ; |153| 
||         STW     .D2T1   A0,*B7            ; |150| 
||         MVKH    .S2     0x1800008,B9      ; |151| 

           MVKH    .S1     0x54529,A0        ; |153| 
||         STW     .D2T1   A4,*B9            ; |151| 
||         MVKH    .S2     0x180001c,B8      ; |152| 

           STW     .D2T1   A3,*B8            ; |152| 
||         MVKL    .S1     0x807ffff0,A4     ; |158| 
||         MVKH    .S2     0x1800020,B6      ; |153| 

           STW     .D2T1   A0,*B6            ; |153| 
||         MVKH    .S1     0x807ffff0,A4     ; |158| 
||         MVKH    .S2     0x7799aabb,B4     ; |158| 

           STW     .D1T2   B4,*A4            ; |158| 
           ; BRANCH OCCURS                   ; |159| 



	.sect	".text"
	.global	_iis0_init

;******************************************************************************
;* FUNCTION NAME: _iis0_init                                                  *
;*                                                                            *
;*   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 + 4 Save = 4 byte                    *
;******************************************************************************
_iis0_init:
;** --------------------------------------------------------------------------*
;** 169	-----------------------    hMcbsp0 = Y$0 = MCBSP_open(0, 1u);
;** 280	-----------------------    base = Y$0->baseAddr;  // [13]
;** 270	-----------------------    gie = CSR&1u;  // [5]
;** 271	-----------------------    CSR = CSR&0xfffffffeu;  // [5]
;** 287	-----------------------    x0 = mcbspCfg0.spcr;  // [13]
;** 288	-----------------------    x1 = mcbspCfg0.rcr;  // [13]
;** 289	-----------------------    x2 = mcbspCfg0.xcr;  // [13]
;** 290	-----------------------    x3 = mcbspCfg0.srgr;  // [13]
;** 291	-----------------------    x4 = mcbspCfg0.mcr;  // [13]
;** 292	-----------------------    x5 = mcbspCfg0.rcer;  // [13]
;** 293	-----------------------    x6 = mcbspCfg0.xcer;  // [13]
;** 294	-----------------------    x7 = mcbspCfg0.pcr;  // [13]
;** 296	-----------------------    base[2] = 0u;  // [13]
;** 297	-----------------------    base[3] = x1;  // [13]
;** 298	-----------------------    base[4] = x2;  // [13]
;** 299	-----------------------    base[5] = x3;  // [13]
;** 300	-----------------------    base[6] = x4;  // [13]
;** 301	-----------------------    base[7] = x5;  // [13]
;** 302	-----------------------    base[8] = x6;  // [13]
;** 303	-----------------------    base[9] = x7;  // [13]
;** 304	-----------------------    base[2] = x0;  // [13]
;** 276	-----------------------    CSR = CSR&0xfffffffeu|gie&1u;  // [6]
;** 171	-----------------------    MCBSP_start(Y$0, 15u, 220u);
;** 171	-----------------------    return;
           MVKL    .S1     _MCBSP_open,A0    ; |169| 
           MVKH    .S1     _MCBSP_open,A0    ; |169| 
           CALL    .S2X    A0                ; |169| 
           STW     .D2T2   B3,*SP--(8)       ; |168| 
           MVKL    .S2     RL10,B3           ; |169| 
           MVK     .S2     0x1,B4            ; |169| 
           MVKH    .S2     RL10,B3           ; |169| 
           ZERO    .D1     A4                ; |169| 
RL10:      ; CALL OCCURS                     ; |169| 
           LDW     .D1T1   *+A4(12),A0       ; |280| 
           NOP             3

           MVC     .S2     CSR,B4            ; |270| 
||         STW     .D2T1   A4,*+DP(_hMcbsp0) ; |169| 

           MVC     .S2     CSR,B5            ; |271| 
||         AND     .L2     1,B4,B4           ; |270| 

           AND     .S2     -2,B5,B5          ; |271| 
           MVC     .S2     B5,CSR            ; |271| 
           LDW     .D2T1   *+DP(_mcbspCfg0+4),A5 ; |288| 
           LDW     .D2T1   *+DP(_mcbspCfg0+8),A3 ; |289| 
           LDW     .D2T2   *+DP(_mcbspCfg0+12),B7 ; |290| 
           LDW     .D2T2   *+DP(_mcbspCfg0+16),B8 ; |291| 
           LDW     .D2T2   *+DP(_mcbspCfg0+20),B9 ; |292| 
           LDW     .D2T2   *+DP(_mcbspCfg0+24),B6 ; |293| 

           LDW     .D2T2   *+DP(_mcbspCfg0),B0 ; |287| 
||         ZERO    .D1     A6                ; |296| 

⌨️ 快捷键说明

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