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

📄 main_check.asm

📁 G729A_v1.7_src.C语言.很好用
💻 ASM
字号:
;***************************************************************
;* TMS320C54x C/C++ Codegen                  PC Version 3.831  *
;* Date/Time created: Fri Sep 02 16:27:34 2005                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"main_check.C"
	.global	_data_inbuf
	.bss	_data_inbuf,4000,0,0
	.sym	_data_inbuf,_data_inbuf, 51, 2, 64000,, 4000
	.global	_data_outbuf
	.bss	_data_outbuf,4100,0,0
	.sym	_data_outbuf,_data_outbuf, 51, 2, 65600,, 4100
	.global	_convert
	.bss	_convert,80,0,0
	.sym	_convert,_convert, 51, 2, 1280,, 80
;	d:\ti\c5400\cgtools\bin\opt500.exe -i15 -q -s -O3 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI828_2 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI828_5 -w D:/G729A_v1.7_src/G729a_v1_7/Debug 

	.sect	".text"
	.global	_main
	.sym	_main,_main, 36, 2, 0
	.func	31
;----------------------------------------------------------------------
;  31 | int main(int argc, char *argv[] )                                      
;----------------------------------------------------------------------

;***************************************************************
;* FUNCTION DEF: _main                                         *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_main:
	.line	2
;----------------------------------------------------------------------
;  34 | FILE *f_speech;               /* File of speech data
;     | */                                                                     
;  35 | FILE *f_serial;               /* File of serial bits for transmission
;     | */                                                                     
;  37 | extern Word16 *new_speech;     /* Pointer to new speech data
;     |  */                                                                    
;  39 | Word16 prm[PRM_SIZE];          /* Analysis parameters.
;     |  */                                                                    
;  40 | Word16 serial[SERIAL_SIZE];    /* Output bitstream buffer
;     |  */                                                                    
;  42 | Word16 frame;                  /* frame counter */                     
;  43 | Word16 j=0,n=0;                  /* frame counter */                   
;----------------------------------------------------------------------
;* A     assigned to _argc
	.sym	_argc,0, 4, 17, 16
	.sym	_argv,98, 82, 9, 16
;
; BRC	assigned to temp var  L$2
; BRC	assigned to temp var  L$3
;
;** 49	-----------------------    Init_Pre_Process();
;* BRC   assigned to L$2
	.sym	L$2,25, 4, 4, 16
;* BRC   assigned to L$3
	.sym	L$3,25, 4, 4, 16
;* A     assigned to L$3
	.sym	L$3,0, 4, 4, 16
;* A     assigned to L$2
	.sym	L$2,0, 4, 4, 16
;* AR3   assigned to U$9
	.sym	U$9,12, 20, 4, 16
;* AR2   assigned to U$12
	.sym	U$12,11, 19, 4, 16
;* AR2   assigned to U$21
	.sym	U$21,11, 20, 4, 16
;* AR3   assigned to U$29
	.sym	U$29,12, 20, 4, 16
;* AR1   assigned to _j
	.sym	_j,10, 3, 4, 16
	.sym	_prm,2, 51, 1, 176,, 11
	.sym	_serial,13, 51, 1, 1312,, 82
;** 50	-----------------------    Init_Coder_ld8a();
;** 51	-----------------------    Set_zero(&prm, 11);
;**  	-----------------------    #pragma MUST_ITERATE(50, 50, 50)
;**  	-----------------------    #pragma LOOP_FLAGS(5120u)
;** 43	-----------------------    j = 0;
        PSHM      AR1
        FRAME     #-96
	.line	19
;----------------------------------------------------------------------
;  49 | Init_Pre_Process();                                                    
;----------------------------------------------------------------------
        CALL      #_Init_Pre_Process    ; |49| 
        ; call occurs [#_Init_Pre_Process] ; |49| 
	.line	20
;----------------------------------------------------------------------
;  50 | Init_Coder_ld8a();                                                     
;----------------------------------------------------------------------
        CALL      #_Init_Coder_ld8a     ; |50| 
        ; call occurs [#_Init_Coder_ld8a] ; |50| 
	.line	21
;----------------------------------------------------------------------
;  51 | Set_zero(prm, PRM_SIZE);                                               
;  55 | frame =0;                                                              
;  57 | for(j=0;j<BUFF_SIZE;j+=L_FRAME)                                        
;  59 |   //printf("Frame =%d\r", frame++);                                    
;  61 |   //DataIn();                                                          
;  63 |   for(n=0;n<80;n++)                                                    
;----------------------------------------------------------------------
        ST        #11,*SP(0)            ; |51| 
        LDM       SP,A
        CALLD     #_Set_zero            ; |51| 
        ADD       #2,A
        ; call occurs [#_Set_zero] ; |51| 
	.line	13
        LD        #0,A
        STLM      A,AR1
        NOP
L1:    
;**	-----------------------g2:
;**  	-----------------------    #pragma MUST_ITERATE(80, 80, 80)
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
;**  	-----------------------    U$9 = &data_inbuf[j];
;**  	-----------------------    U$12 = new_speech;
;**	-----------------------g4:
;**  	-----------------------    L$2 = 79;
;**	-----------------------g11:
        LDM       AR1,A
        ADD       #_data_inbuf,A,A
        STLM      A,AR3
        MVDM      *(_new_speech),AR2
        RPT       #79
        ; loop starts
L2:    
;** 65	-----------------------    *U$12++ = *U$9++;
;** 66	-----------------------    if ( --L$2 != -1 ) goto g11;
	.line	35
;----------------------------------------------------------------------
;  65 | new_speech[n]=data_inbuf[j+n];                                         
;----------------------------------------------------------------------
        MVDD      *AR3+,*AR2+           ; |65| 
	.line	36
        ; loop ends ; |66| 
L3:    
;** 68	-----------------------    Pre_Process(new_speech, 80);
;** 70	-----------------------    Coder_ld8a(&prm);
;** 72	-----------------------    prm2bits_ld8k(&prm, &serial);
;**  	-----------------------    #pragma MUST_ITERATE(82, 82, 82)
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
;**  	-----------------------    U$29 = &data_outbuf[82*j/80];
;**  	-----------------------    U$21 = &serial[0];
;**	-----------------------g7:
;**  	-----------------------    L$3 = 81;
;**	-----------------------g10:
	.line	38
;----------------------------------------------------------------------
;  68 | Pre_Process(new_speech, L_FRAME);                                      
;----------------------------------------------------------------------
        ST        #80,*SP(0)            ; |68| 
        LD        *(_new_speech),A
        CALL      #_Pre_Process         ; |68| 
        ; call occurs [#_Pre_Process] ; |68| 
	.line	40
;----------------------------------------------------------------------
;  70 | Coder_ld8a(prm);                                                       
;----------------------------------------------------------------------
        LDM       SP,A
        CALLD     #_Coder_ld8a          ; |70| 
        ADD       #2,A
        ; call occurs [#_Coder_ld8a] ; |70| 
	.line	42
;----------------------------------------------------------------------
;  72 | prm2bits_ld8k( prm, serial);                                           
;  74 | for(n=0;n<82;n++)                                                      
;----------------------------------------------------------------------
        LDM       SP,A
        ADD       #13,A
        STL       A,*SP(0)
        LDM       SP,A
        CALLD     #_prm2bits_ld8k       ; |72| 
        ADD       #2,A
        ; call occurs [#_prm2bits_ld8k] ; |72| 
        ST        #80,*SP(0)
        CALLD     #I$$DIV
        NOP
        LDM       AR1,A
        ; call occurs [#I$$DIV]
        MPY       *(AL),#82,A
        ADD       #_data_outbuf,A,A
        MVMM      SP,AR2
        STLM      A,AR3
        MAR       *+AR2(#13)
        RPT       #81
        ; loop starts
L4:    
;** 76	-----------------------    *U$29++ = *U$21++;
;** 77	-----------------------    if ( --L$3 != -1 ) goto g10;
	.line	46
;----------------------------------------------------------------------
;  76 | data_outbuf[(j/80)*82+n] = * (serial+n);///                            
;----------------------------------------------------------------------
        MVDD      *AR2+,*AR3+           ; |76| 
	.line	47
        ; loop ends ; |77| 
L5:    
;** 78	-----------------------    if ( (j += 80) < 4000 ) goto g2;
	.line	48
        LDM       AR1,A
        SSBX      SXM
        ADD       #80,A
        STLM      A,AR1
        LD        *(AL),A               ; |78| 
        SUB       #4000,A,A             ; |78| 
        BC        L1,ALT                ; |78| 
        ; branch occurs ; |78| 
;** 79	-----------------------    return 0;
	.line	49
;----------------------------------------------------------------------
;  79 | return (0);                                                            
;----------------------------------------------------------------------
        LD        #0,A
	.line	50
        FRAME     #96                   ; |79| 
        POPM      AR1                   ; |79| 
        RET       ; |79| 
        ; return occurs ; |79| 
	.endfunc	80,000000400h,97



	.sect	".text"
	.global	_DataOut
	.sym	_DataOut,_DataOut, 32, 2, 0
	.func	82

;***************************************************************
;* FUNCTION DEF: _DataOut                                      *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_DataOut:
	.line	1
;----------------------------------------------------------------------
;  82 | void DataOut()  {}                                                     
;----------------------------------------------------------------------
;** 82	-----------------------    return;
        RET
        ; return occurs
	.endfunc	82,000000000h,0



	.sect	".text"
	.global	_DataIn
	.sym	_DataIn,_DataIn, 32, 2, 0
	.func	81

;***************************************************************
;* FUNCTION DEF: _DataIn                                       *
;***************************************************************

;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_DataIn:
	.line	1
;----------------------------------------------------------------------
;  81 | void DataIn()           {}                                             
;----------------------------------------------------------------------
;** 81	-----------------------    return;
        RET
        ; return occurs
	.endfunc	81,000000000h,0


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_Init_Pre_Process
	.global	_Pre_Process
	.global	_Init_Coder_ld8a
	.global	_Coder_ld8a
	.global	_prm2bits_ld8k
	.global	_Set_zero
	.global	_new_speech
	.global	I$$DIV

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_Word16, 0, 3, 13, 16

⌨️ 快捷键说明

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