.var/ram/seg = dmx_in/abs=0	enc_input_sdram_hi;	{ Input sdram high address (Dsp read only)	}
.var/ram/seg = dmx_in/abs=1	enc_input_sdram_lo;	{ Input sdram low address (Dsp read only)	}	
.var/ram/seg = dmx_in/abs=2	enc_output_sdram_hi;	{ Output sdram high address (Dsp read only)	}
.var/ram/seg = dmx_in/abs=3	enc_output_sdram_lo;	{ Output sdram low address (Dsp read only)	}
.var/ram/seg = dmx_in/abs=4	dec_input_sdram_hi;	{ Input sdram high address (Dsp read only)	}
.var/ram/seg = dmx_in/abs=5	dec_input_sdram_lo;	{ Input sdram low address (Dsp read only)	}
.var/ram/seg = dmx_in/abs=6	dec_output_sdram_hi;	{ Output sdram high address (Dsp read only)	}
.var/ram/seg = dmx_in/abs=7	dec_output_sdram_lo;	{ Output sdram low address (Dsp read only)	}
.var/ram/seg = dmx_in/abs=8	enc_output_byte;	{ Output data length in byte (Dsp write only)	}
.var/ram/seg = dmx_in/abs=9	dec_input_byte;		{ Input data length in byte (Dsp read only)	}
.var/ram/seg = dmx_in/abs=10	DtmfCode;		{ DTMF code		}
.var/ram/seg = dmx_in/abs=11	NewDtmfFlag;		{ 			}
.var/ram/seg = dmx_in/abs=12	ToneTime;		{ (Dsp read only)	}
.var/ram/seg = dmx_in/abs=13	BreakTime;		{ (Dsp read only)	}
.var/ram/seg = dmx_in/abs=14	Amplitude;		{ (Dsp read only)	}
.var/ram/seg = dmx_in/abs =15	reserved;

.var/ram/seg = dmx_in/abs=16	enc_use_vad;		{ for g.729ab and g.723.1
							  1 -- use vad
							  0 -- do not use vad
							  (Dsp read only)	}
.var/ram/seg = dmx_in/abs=17	enc_use_high_rate;	{ for g.723.1 only
							  1 -- use 6.3k to encode
							  0 -- use 5.3k to encode
							  (Dsp read only)	}
.var/ram/seg = dmx_in/abs=18	dec_use_post_filter;	{ for g.723.1 only
							  1 -- use post filter
							  0 -- do not use post filter
							  (Dsp read only)	}


.var/ram/seg = dmx_in/abs=19	aec_far_sdram_hi;	{ sdram high address of far signal (Dsp read only) }
.var/ram/seg = dmx_in/abs=20	aec_far_sdram_lo;	{ sdram low address of far signal (Dsp read only) }
.var/ram/seg = dmx_in/abs=21	aec_use;			{ sdram high address of far signal (Dsp read only) }

.var/ram/seg = dmx_in/abs=22	agc_use;		{ for g.723 & g.729 (Dsp read only)
							  0 -- no agc analysis
							  1 -- do agc analysis without speech modified
							  2 -- do agc analysis with modify speech modified }

.var/ram/seg = dmx_in/abs=23	agc_amp;		{ the gain of speech (8051 read only)
							  0 : no gain,	1 - 2
							  1 : high gain,3 - 4
							  2 : low gain,	2 - 3	}

.var/dm/ram/seg = dmx_in/abs = 24	reserved1[104];

.var/ram/seg = dmx_in/abs=128	reserved for g.723.1 or g.729 

Dtmf and Dial tone generation:
In 8051 program,set dtmf digit in the DtmfCode variable.
For example,you want to get dtmf digit 3.
Then you write the source code as follows:
   
   DtmfCode = 3;
   call dtmfenc_initial;	
   for i = 0 to 6;
   	call dtmf_encode;     	(Tone Time is 60 ms)
   
   DtmfCode = 0xff;
   call dtmfenc_initial;	
   for i = 0 to 6;
   	call dtmf_encode;	(Break Time is 60 ms)

Output Address: dec_output_sdram_hi, dec_output_sdram_lo
Input Address:	DtmfCode(dmin, abs = 10)

Dtmf code talbe:
DtmfCode	Tone
0x0		0
0x1		1
0x2		2
0x3		3
0x4		4
0x5		5
0x6		6
0x7		7
0x8		8
0x9		9
0xe		*
0xf		#
0x10		dialtone
0xff		quiet

If you call dtmf_encode one time, it will play tone for 10ms. So you need to control the 
breaktime.