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

📄 codec_edma.asm

📁 DSP系統設計和BIOS編程及應用實例-書籍光碟範例-第10章
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* TMS320C6x ANSI C Codegen                                      Version 4.10 *
;* Date/Time created: Sun Sep 23 11:40:03 2007                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C620x                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Enabled                                              *
;*   Speculative Load  : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : Debug                                                *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss

	.file	"codec_edma.c"
	.global	_pcm_out
	.bss	_pcm_out,4,4
	.sym	_pcm_out,_pcm_out, 4, 2, 32
	.global	_pcm_in
	.bss	_pcm_in,4,4
	.sym	_pcm_in,_pcm_in, 4, 2, 32
	.global	_dma_index
	.bss	_dma_index,4,4
	.sym	_dma_index,_dma_index, 4, 2, 32
	.global	_src
	.bss	_src,4,4
	.sym	_src,_src, 4, 2, 32
	.global	_dst
	.bss	_dst,4,4
	.sym	_dst,_dst, 4, 2, 32
	.global	_in_ptr
	.bss	_in_ptr,4,4
	.sym	_in_ptr,_in_ptr, 19, 2, 32
	.global	_out_ptr
	.bss	_out_ptr,4,4
	.sym	_out_ptr,_out_ptr, 19, 2, 32
	.global	_in
	.bss	_in,2880,4
	.sym	_in,_in, 51, 2, 23040,, 1440
	.global	_out
	.bss	_out,2880,4
	.sym	_out,_out, 51, 2, 23040,, 1440
;	d:\ti\c6000\cgtools\bin\opt6x.exe -s -O3 C:\DOCUME~1\DELL\LOCALS~1\Temp\TI2268_2 C:\DOCUME~1\DELL\LOCALS~1\Temp\TI2268_4 -w D:/ti/myprojects/audio_handle(EDMA_AD535)/audio_handle(EDMA_AD535)/ 
;**	Parameter deleted: INTsource == 8;
;**	Parameter deleted: INTnumber == 8;
	.sect	".text"
	.global	_config_Interrupt_Selector
	.file	"c6xinterrupts.h"
	.sym	_config_Interrupt_Selector,_config_Interrupt_Selector, 32, 2, 0
	.func	51

;******************************************************************************
;* FUNCTION NAME: _config_Interrupt_Selector                                  *
;*                                                                            *
;*   Regs Modified     : A0,B4,B5,SP                                          *
;*   Regs Used         : A0,B3,B4,B5,SP                                       *
;*   Local Frame Size  : 0 Args + 4 Auto + 0 Save = 4 byte                    *
;******************************************************************************
_config_Interrupt_Selector:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	Y$0,20, 14, 4, 32
	.sym	_IMLvalue,4, 9, 1, 32, $$fake0
	.sym	_IMHvalue,0, 9, 4, 32, $$fake2
;** 87	-----------------------    IMLvalue.reg = *(volatile unsigned *)0x19c0004u;
;** 88	-----------------------    IMHvalue.reg = Y$0 = *(volatile unsigned *)0x19c0000u;
;** 90	-----------------------    *&IMLvalue = *&IMLvalue&0xfc1fffffu|0x1000000u;
;** 109	-----------------------    *(volatile unsigned *)0x19c0004u = IMLvalue.reg;
;** 144	-----------------------    *(volatile unsigned *)0x19c0000u = Y$0;
;** 146	-----------------------    return;
           SUB     .D2     SP,8,SP           ; |52| 
	.line	37
           MVKL    .S1     0x19c0004,A0      ; |87| 
           MVKH    .S1     0x19c0004,A0      ; |87| 
           LDW     .D1T1   *A0,A0            ; |87| 
           NOP             4
           STW     .D2T1   A0,*+SP(4)        ; |87| 
	.line	38
           ZERO    .D2     B4                ; |88| 
           MVKH    .S2     0x19c0000,B4      ; |88| 
           LDW     .D2T2   *B4,B4            ; |88| 
	.line	40
           CLR     .S1     A0,21,25,A0       ; |90| 
           SET     .S1     A0,24,24,A0       ; |90| 
           STW     .D2T1   A0,*+SP(4)        ; |90| 
	.line	59
           MVKL    .S2     0x19c0004,B5      ; |109| 
           MVKH    .S2     0x19c0004,B5      ; |109| 
           STW     .D2T1   A0,*B5            ; |109| 
	.line	94
           ZERO    .D1     A0                ; |144| 
           MVKH    .S1     0x19c0000,A0      ; |144| 
           STW     .D1T2   B4,*A0            ; |144| 
	.line	96
	.line	97
           B       .S2     B3                ; |147| 
           ADD     .D2     8,SP,SP           ; |147| 
           NOP             4
           ; BRANCH OCCURS                   ; |147| 
	.endfunc	147,000000000h,8


	.sect	".text"
	.global	_edma_init
	.file	"codec_edma.c"
	.sym	_edma_init,_edma_init, 32, 2, 0
	.func	91

;******************************************************************************
;* FUNCTION NAME: _edma_init                                                  *
;*                                                                            *
;*   Regs Modified     : A0,A3,A4,A5,B0,B1,B2,B4,B5,B6,B7,B8,B9               *
;*   Regs Used         : A0,A3,A4,A5,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,DP         *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_edma_init:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	C$1,0, 14, 4, 32
	.sym	C$2,4, 14, 4, 32
	.sym	C$3,3, 4, 4, 32
	.sym	C$4,24, 14, 4, 32
	.sym	C$5,20, 14, 4, 32
	.sym	C$6,22, 14, 4, 32
	.sym	C$7,17, 14, 4, 32
	.sym	C$8,16, 14, 4, 32
	.sym	C$9,21, 4, 4, 32
	.sym	C$10,23, 14, 4, 32
	.sym	C$11,25, 4, 4, 32
	.sym	C$12,18, 4, 4, 32
	.sym	C$13,20, 211, 4, 32,, 1440
	.sym	C$14,0, 211, 4, 32,, 1440
	.sym	C$15,21, 14, 4, 32
;** 93	-----------------------    *(volatile unsigned *)0x1a0fff8u = C$15 = 65535u;
;** 94	-----------------------    *(volatile unsigned *)0x1a0fff4u = 12288u;
;** 96	-----------------------    *(volatile unsigned *)0x1a0ffe4u = C$15;
;** 97	-----------------------    *(volatile unsigned *)0x1a0ffe8u = 256u;
;** 98	-----------------------    C$14 = ∈
;** 98	-----------------------    pcm_in = C$11 = (int)C$14;
;** 99	-----------------------    C$13 = &out;
;** 99	-----------------------    pcm_out = C$12 = (int)C$13;
;** 100	-----------------------    in_ptr = (short *)(int)C$14;
;** 101	-----------------------    out_ptr = (short *)((int)C$13+800);
;** 103	-----------------------    dma_index = 1;
;** 105	-----------------------    *(volatile unsigned *)0x1a00120u = C$10 = 0x49000002u;
;** 106	-----------------------    *(volatile unsigned *)0x1a00124u = C$12;
;** 107	-----------------------    *(volatile unsigned *)0x1a00128u = C$4 = 80u;
;** 108	-----------------------    *(volatile unsigned *)0x1a0012cu = C$8 = 0x18c0004u;
;** 109	-----------------------    *(volatile unsigned *)0x1a00130u = C$2 = 0u;
;** 110	-----------------------    *(volatile unsigned *)0x1a00134u = C$7 = 0x1a00180u;
;** 113	-----------------------    *(volatile unsigned *)0x1a00138u = C$6 = 0x48380002u;
;** 114	-----------------------    *(volatile unsigned *)0x1a0013cu = C$5 = 0x18c0000u;
;** 115	-----------------------    *(volatile unsigned *)0x1a00140u = C$4;
;** 116	-----------------------    *(volatile unsigned *)0x1a00144u = C$11;
;** 117	-----------------------    *(volatile unsigned *)0x1a00148u = C$2;
;** 118	-----------------------    *(volatile unsigned *)0x1a0014cu = C$1 = 0x1a00198u;
;** 120	-----------------------    src = C$9 = C$12+160;
;** 121	-----------------------    dst = C$3 = C$11+160;
;** 124	-----------------------    *(volatile unsigned *)0x1a00180u = C$10;
;** 125	-----------------------    *(volatile unsigned *)0x1a00184u = C$9;
;** 126	-----------------------    *(volatile unsigned *)0x1a00188u = C$4;
;** 127	-----------------------    *(volatile unsigned *)0x1a0018cu = C$8;
;** 128	-----------------------    *(volatile unsigned *)0x1a00190u = C$2;
;** 129	-----------------------    *(volatile unsigned *)0x1a00194u = C$7;
;** 132	-----------------------    *(volatile unsigned *)0x1a00198u = C$6;
;** 133	-----------------------    *(volatile unsigned *)0x1a0019cu = C$5;
;** 134	-----------------------    *(volatile unsigned *)0x1a001a0u = C$4;
;** 135	-----------------------    *(volatile unsigned *)0x1a001a4u = C$3;
;** 136	-----------------------    *(volatile unsigned *)0x1a001a8u = C$2;
;** 137	-----------------------    *(volatile unsigned *)0x1a001acu = C$1;
;** 137	-----------------------    return;
	.line	3
           MVKL    .S2     0x1a0fff8,B4      ; |93| 

           MVKH    .S2     0x1a0fff8,B4      ; |93| 
||         ZERO    .D2     B5                ; |93| 

           SET     .S2     B5,0x0,0xf,B5     ; |93| 
           STW     .D2T2   B5,*B4            ; |93| 
	.line	4
           MVKL    .S1     0x1a0fff4,A0      ; |94| 

           MVK     .S2     12288,B4          ; |94| 
||         MVKH    .S1     0x1a0fff4,A0      ; |94| 

           STW     .D1T2   B4,*A0            ; |94| 
	.line	6
           MVKL    .S1     0x1a0ffe4,A0      ; |96| 
           MVKH    .S1     0x1a0ffe4,A0      ; |96| 
           STW     .D1T2   B5,*A0            ; |96| 
	.line	7
           MVKL    .S1     0x1a0ffe8,A0      ; |97| 

           MVKH    .S1     0x1a0ffe8,A0      ; |97| 
||         MVK     .S2     256,B4            ; |97| 

           STW     .D1T2   B4,*A0            ; |97| 
	.line	8
           MVK     .S2     (_in-$bss),B4     ; |98| 

           ADD     .D2     DP,B4,B4
||         ADD     .S2     DP,B4,B9

           STW     .D2T2   B9,*+DP(_pcm_in)  ; |98| 
||         MV      .S1X    B4,A0

	.line	9
           MVK     .S2     (_out-$bss),B4    ; |99| 
           ADD     .D2     DP,B4,B2

           STW     .D2T2   B2,*+DP(_pcm_out) ; |99| 
||         ADD     .S2     DP,B4,B4

	.line	10
           STW     .D2T1   A0,*+DP(_in_ptr)  ; |100| 
	.line	11
           MVK     .S2     800,B5            ; |101| 
           ADD     .D2     B5,B4,B4          ; |101| 
           STW     .D2T2   B4,*+DP(_out_ptr) ; |101| 
	.line	13
           MVK     .S2     1,B4              ; |103| 
           STW     .D2T2   B4,*+DP(_dma_index) ; |103| 
	.line	15

           MVKL    .S1     0x1a00120,A0      ; |105| 
||         MVKL    .S2     0x49000002,B7     ; |105| 

           MVKH    .S1     0x1a00120,A0      ; |105| 
||         MVKH    .S2     0x49000002,B7     ; |105| 

           STW     .D1T2   B7,*A0            ; |105| 
	.line	16
           MVKL    .S2     0x1a00124,B4      ; |106| 
           MVKH    .S2     0x1a00124,B4      ; |106| 
           STW     .D2T2   B2,*B4            ; |106| 
	.line	17
           MVK     .S2     0x50,B8           ; |107| 
           MVKL    .S2     0x1a00128,B4      ; |107| 
           MVKH    .S2     0x1a00128,B4      ; |107| 
           STW     .D2T2   B8,*B4            ; |107| 
	.line	18
           MVKL    .S2     0x18c0004,B0      ; |108| 
           MVKH    .S2     0x18c0004,B0      ; |108| 
           MVKL    .S2     0x1a0012c,B4      ; |108| 
           MVKH    .S2     0x1a0012c,B4      ; |108| 
           STW     .D2T2   B0,*B4            ; |108| 
	.line	19
           MVKL    .S1     0x1a00130,A0      ; |109| 

           MVKH    .S1     0x1a00130,A0      ; |109| 
||         ZERO    .D1     A4                ; |109| 

           STW     .D1T1   A4,*A0            ; |109| 
	.line	20
           MVKL    .S2     0x1a00180,B1      ; |110| 
           MVKH    .S2     0x1a00180,B1      ; |110| 
           MVKL    .S2     0x1a00134,B4      ; |110| 
           MVKH    .S2     0x1a00134,B4      ; |110| 
           STW     .D2T2   B1,*B4            ; |110| 
	.line	23
           MVKL    .S2     0x48380002,B6     ; |113| 
           MVKH    .S2     0x48380002,B6     ; |113| 
           MVKL    .S2     0x1a00138,B4      ; |113| 
           MVKH    .S2     0x1a00138,B4      ; |113| 
           STW     .D2T2   B6,*B4            ; |113| 
	.line	24
           MVKL    .S2     0x1a0013c,B5      ; |114| 

           ZERO    .D2     B4                ; |114| 
||         MVKH    .S2     0x1a0013c,B5      ; |114| 

           MVKH    .S2     0x18c0000,B4      ; |114| 
           STW     .D2T2   B4,*B5            ; |114| 
	.line	25
           MVKL    .S2     0x1a00140,B5      ; |115| 
           MVKH    .S2     0x1a00140,B5      ; |115| 
           STW     .D2T2   B8,*B5            ; |115| 
	.line	26
           MVKL    .S1     0x1a00144,A0      ; |116| 
           MVKH    .S1     0x1a00144,A0      ; |116| 
           STW     .D1T2   B9,*A0            ; |116| 
	.line	27
           MVKL    .S1     0x1a00148,A0      ; |117| 
           MVKH    .S1     0x1a00148,A0      ; |117| 
           STW     .D1T1   A4,*A0            ; |117| 
	.line	28

           MVKL    .S2     0x1a0014c,B5      ; |118| 
||         MVKL    .S1     0x1a00198,A0      ; |118| 

           MVKH    .S2     0x1a0014c,B5      ; |118| 
||         MVKH    .S1     0x1a00198,A0      ; |118| 

           STW     .D2T1   A0,*B5            ; |118| 
	.line	30
           MVK     .S2     160,B5            ; |120| 
           ADD     .D2     B5,B2,B5          ; |120| 
           STW     .D2T2   B5,*+DP(_src)     ; |120| 
	.line	31
           MVK     .S1     160,A3            ; |121| 
           ADD     .S1X    A3,B9,A3          ; |121| 
           STW     .D2T1   A3,*+DP(_dst)     ; |121| 
	.line	34
           MVKL    .S1     0x1a00180,A5      ; |124| 
           MVKH    .S1     0x1a00180,A5      ; |124| 
           STW     .D1T2   B7,*A5            ; |124| 
	.line	35
           MVKL    .S1     0x1a00184,A5      ; |125| 
           MVKH    .S1     0x1a00184,A5      ; |125| 
           STW     .D1T2   B5,*A5            ; |125| 
	.line	36
           MVKL    .S2     0x1a00188,B5      ; |126| 
           MVKH    .S2     0x1a00188,B5      ; |126| 
           STW     .D2T2   B8,*B5            ; |126| 
	.line	37
           MVKL    .S1     0x1a0018c,A5      ; |127| 
           MVKH    .S1     0x1a0018c,A5      ; |127| 
           STW     .D1T2   B0,*A5            ; |127| 
	.line	38
           MVKL    .S1     0x1a00190,A5      ; |128| 
           MVKH    .S1     0x1a00190,A5      ; |128| 
           STW     .D1T1   A4,*A5            ; |128| 
	.line	39
           MVKL    .S1     0x1a00194,A5      ; |129| 
           MVKH    .S1     0x1a00194,A5      ; |129| 
           STW     .D1T2   B1,*A5            ; |129| 
	.line	42
           MVKL    .S1     0x1a00198,A5      ; |132| 
           MVKH    .S1     0x1a00198,A5      ; |132| 
           STW     .D1T2   B6,*A5            ; |132| 
	.line	43
           MVKL    .S1     0x1a0019c,A5      ; |133| 
           MVKH    .S1     0x1a0019c,A5      ; |133| 

⌨️ 快捷键说明

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