📄 main_check.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 + -