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

📄 c5_3_2.dsp

📁 dsp入门与实践一书的源代码
💻 DSP
字号:
.MODULE  		XP;             		    			
.CONST    		N=2048;
.CONST    		h0=0x1000, h01=0x2000;            			
.CONST    		h1=0x3000, h11=0x6000;            			

.CONST    		g0=0x0c000;		              			
.CONST    		g1=0x04000;	                  			
.CONST    		fs=10000;						
.CONST    		fs1=20000;
.CONST    		dt_fra=0x0006;						

.VAR/DM/RAM 	k, k1, N2, xxx1;
.VAR/DM/RAM 	long, dote, amp, amp_fra, amp_int;

.INIT           	k:1;
.INIT           	k1:0x0ffff;						
.INIT           	long:0;
.INIT           	amp_fra:0;
.INIT           	amp_int:0;
.INIT           	xxx1:0;
.INIT           	N2:2048;
.INIT           	a0_input:<er.dat>;                  			
										
.VAR/DM/RAM  	dotpre[80];							
.VAR/DM/RAM  	a1[2052], a2[2057], a3[2065], a4[2048];
.VAR/DM/RAM  	a0_input[2051], a0[2051];
.VAR/DM/RAM  	temp1, temp2, temp3, temp4, temp5, temp6;
.VAR/DM/RAM  	temp7, temp8, temp9, temp10, temp11, temp12;
.VAR/DM/RAM  	temp13, temp14, temp15, temp16, temp17;
.VAR/DM/RAM  	res_fra, res_int;
.VAR/DM/RAM  	freq_fra, freq_int;

				JUMP  START; NOP; NOP; NOP;			
                        	RTI; NOP; NOP; NOP;  				
						RTI; NOP; NOP; NOP;
						RTI; NOP; NOP; NOP;
						RTI; NOP; NOP; NOP;
						RTI; NOP; NOP; NOP;
						RTI; NOP; NOP; NOP;
START:
xbstart:				I0= ^a0_input; 	L0=0; 	M0=dm(k);	
					I1= ^a0;   L1=0; 	M1=1;
					si=dm(N2);
					si=lshift si by 1(lo);
					ax0=sr0; 	ay0=2047;		
					ar=ax0-ay0;	ay0=0x7ffff;		
					ar=ax0+ay0;
					if ac jump xp1;
					cntr=2048;				
					jump xp2;
xp1:					cntr=sr0;
xp2:					do loop0 until ce;
					ax0=dm(i0,m0);				
					dm(i1,m0)=ax0;
loop0:					nop;
					I0= ^a0;	L0=0; 			
					ax0=dm(N2);	ay0=4;
					ar=ax0-ay0;	m0=ar;
					
					ax0=dm(i0,m0); m0=1;			
					ax0=dm(i0,m0); dm(temp1)=ax0; 		
					ax0=dm(i0,m0); dm(temp2)=ax0; 		
					ax0=dm(i0,m0); dm(temp3)=ax0; 		
					ax0=dm(i0,m0); 				
					ax0=dm(temp3); dm(i0,m0)=ax0; 		
					ax0=dm(temp2); dm(i0,m0)=ax0; 		
					ax0=dm(temp1); dm(i0,m0)=ax0; 		
					
					I0= ^a0;L0=0; 	M0=1;			
					I1= ^a1;L1=0; 	M1=1; 			
					Cntr=3;
					do loop1 until ce;
					
					mx0=dm(i0,m0);	my0=h11;		
					mr=mx0*my0(ss);	ax0=mr1;
					mx1=dm(i1,m1);	my1=h01;
					mr=mx1*my1(ss);	ay0=mr1; 		
					ar=ax0+ay0;				
					dm(i1,m0)=ar;
loop1:					nop;
					M1=2;
					ax0=dm(i0,m1);
					ax0=dm(N2);	ay0=3;
					ar=ax0-ay0;
					
					cntr=ar;
					do loop2 until ce;			
					ax0=dm(i0,m0); dm(temp1)=ax0;
					ax0=dm(i0,m0); dm(temp2)=ax0;
					ax0=dm(i0,m0); dm(temp3)=ax0;
					ax0=dm(i0,m1); dm(temp4)=ax0;
					mx0=dm(temp1);	my0=h0;			
					mr=mx0*my0(ss);
					mx0=dm(temp4); 				
					mr=mr+mx0*my0(ss);
                     			mx0=dm(temp2);	my0=h1;
					mr=mr+mx0*my0(ss);			
					mx0=dm(temp3);
					mr=mr+mx0*my0(ss); 			
					dm(i1,m0)=mr1;
loop2:					nop;					
					m1=-5;					
					ax0=dm(i1,m1);
					ax0=dm(i0,m0); dm(temp1)=ax0;
					ax0=dm(i0,m0); dm(temp2)=ax0;
					ax0=dm(i0,m0); dm(temp3)=ax0;
					ax0=dm(i0,m1); dm(temp4)=ax0;		
					ax0=dm(i1,m0);
					ax0=dm(temp4); dm(i1,m0)=ax0; 		
					ax0=dm(temp3); dm(i0,m0)=ax0;
					ax0=dm(temp2); dm(i0,m0)=ax0;
					ax0=dm(temp1); dm(i0,m0)=ax0;		
					
					I0= ^a1;L0=0; 	M0=1;
					I1= ^a2;L1=0; 	M1=-1;
					ax0=dm(i0,m0);	ax0=dm(i0,m0);		
					Cntr=4;
					do loop3 until ce;
					
					mx0=dm(i0,m0);	my0=h11; 		
					mr=mx0*my0(ss);
					mx0=dm(i0,m0);
					mx0=dm(i1,m1);	my0=h01; 		
					mr=mr+mx1*my1(ss);			
					dm(i1,m0)=mr1;
loop3:					nop;
					
					I0= ^a1;	L0=0; 	M0=1;
					ax0=dm(i0,m0);	ax0=dm(i0,m0);
					ax0=dm(N2);	ay0=4;
					ar=ax0-ay0;				
					cntr=ar;m1=-5;
					do loop4 until ce;
					mx0=dm(i0,m0);	my0=h0; 		
					mr=mx0*my0(ss);
					mx0=dm(i0,m0);
					mx0=dm(i0,m0);	my0=h1; 		
					mr=mr+mx0*my0(ss);
					mx0=dm(i0,m0);
					mx0=dm(i0,m0);	my0=h1; 		
					mr=mr+mx0*my0(ss);	
					mx0=dm(i0,m0);
					mx0=dm(i0,m0);	my0=h0; 		
					mr=mr+mx0*my0(ss);	
					dm(i1,m0)=mr1;
loop4:					nop;					
					m1=-10;
					ax0=dm(i1,m1);
					ax0=dm(i1,m0); dm(temp1)=ax0;
					ax0=dm(i1,m0); dm(temp2)=ax0;
					ax0=dm(i1,m0); dm(temp3)=ax0;
					ax0=dm(i1,m0); dm(temp4)=ax0;
					ax0=dm(i1,m0); dm(temp5)=ax0;
					ax0=dm(i1,m0); dm(temp6)=ax0;
					ax0=dm(i1,m0); dm(temp7)=ax0;
					ax0=dm(i1,m0); dm(temp8)=ax0;
					ax0=dm(i1,m0); dm(temp9)=ax0;
					ax0=dm(i1,m0); 
					ax0=dm (temp9); dm(i1,m0)=ax0;
					ax0=dm (temp8); dm(i1,m0)=ax0;
					ax0=dm (temp7); dm(i1,m0)=ax0;
					ax0=dm (temp6); dm(i1,m0)=ax0;
					ax0=dm (temp5); dm(i1,m0)=ax0;
					ax0=dm (temp4); dm(i1,m0)=ax0;
					ax0=dm (temp3); dm(i1,m0)=ax0;
					ax0=dm (temp2); dm(i1,m0)=ax0;
					ax0=dm (temp1); dm(i1,m0)=ax0;		
					
					I0= ^a2;L0=0; 	M0=1;
					I1= ^a3;L1=0; 	M1=-3;	M2=4;
					ax0=dm(i1,m0);	ax0=dm(i1,m0);	ax0=dm(i1,m0);
					cntr=7;
					do loop5 until ce;
					mx0=dm(i0,m2);	my0=h11;
					mr=mx0*my0(ss);
					mx0=dm(i0,m1);
					my0=h01;
					mr=mr+mx0*my0(ss);	
					dm(i1,m0)=mr1;
loop5:					loop;
					I0= ^a2;	L2=0;
					ax0=dm(i0,m0);	ax0=dm(i0,m0); 	
					ax0=dm(N2);	ay0=7;
					ar=ax0-ay0;
					mr=mx0*my0(ss);
					cntr=ar;  m1=-11;
					do loop6 until ce;
					mx0=dm(i0,m0);
					mx0=dm(i0,m2);	my0=h0;
					mr=mr+mx0*my0(ss);
					mx0=dm(i0,m2);my0=h1;
					mr=mr+mx0*my0(ss);	
					mx0=dm(i0,m2); my0=h1;
					mr=mr+mx0*my0(ss);	
					mx0=dm(i0,m1); my0=h0;
					mr=mr+mx0*my0(ss);	
					dm(i1,m0)=mr1;
loop6:				nop;
					m1=-18;
					ax0=dm(i1,m1);
					ax0=dm(i1,m0);	dm(temp1)=ax0;
					ax0=dm(i1,m0);	dm(temp2)=ax0;
					ax0=dm(i1,m0);	dm(temp3)=ax0;
					ax0=dm(i1,m0);	dm(temp4)=ax0;
					ax0=dm(i1,m0);	dm(temp5)=ax0;
					ax0=dm(i1,m0);	dm(temp6)=ax0;
					ax0=dm(i1,m0);	dm(temp7)=ax0;
					ax0=dm(i1,m0);	dm(temp8)=ax0;
					ax0=dm(i1,m0);	dm(temp9)=ax0;
					ax0=dm(i1,m0);	dm(temp10)=ax0;
					ax0=dm(i1,m0);	dm(temp11)=ax0;
					ax0=dm(i1,m0);	dm(temp12)=ax0;
					ax0=dm(i1,m0);	dm(temp13)=ax0;
					ax0=dm(i1,m0);	dm(temp14)=ax0;
					ax0=dm(i1,m0);	dm(temp15)=ax0;
					ax0=dm(i1,m0);	dm(temp16)=ax0;
					ax0=dm(i1,m0);	dm(temp17)=ax0;
					
					ax0=dm(i1,m0);
					dm(temp17)=ax0;	ax0=dm(i1,m0);
					dm(temp16)=ax0;	ax0=dm(i1,m0);
					dm(temp15)=ax0;	ax0=dm(i1,m0);
					dm(temp14)=ax0;	ax0=dm(i1,m0);
					dm(temp13)=ax0;	ax0=dm(i1,m0);
					dm(temp12)=ax0;	ax0=dm(i1,m0);
					dm(temp11)=ax0;	ax0=dm(i1,m0);
					dm(temp10)=ax0;	ax0=dm(i1,m0);
					dm(temp9)=ax0;	ax0=dm(i1,m0);
					dm(temp8)=ax0;	ax0=dm(i1,m0);
					dm(temp7)=ax0;	ax0=dm(i1,m0);
					dm(temp6)=ax0;	ax0=dm(i1,m0);
					dm(temp5)=ax0;	ax0=dm(i1,m0);
					dm(temp4)=ax0;	ax0=dm(i1,m0);
					dm(temp3)=ax0;	ax0=dm(i1,m0);
					dm(temp2)=ax0;	ax0=dm(i1,m0);
					dm(temp1)=ax0;	ax0=dm(i1,m0);
					
					I0= ^a3;L0=0; 	M0=1;
					M1=6; 	M2=-5;	I1=^b4;
					ax0=dm(i1,m0);	ax0=dm(i1,m0);
					ax0=dm(i1,m0);	ax0=dm(i1,m0);
					cntr=dm(N2);
					do loop7 until ce;
					mx0=dm(i0,m1);	my0=g0;		
					mr=mx0*my0(ss);
					mx0=dm(i0,m2);my0=g1; 		
					mr=mr+mx0*my0(ss);	
					dm(i1,m0)=mr1;			
loop7:					loop;				
					ax0=dm(N2);	ay0=256;	
					ar=ax0-ay0;	ay0=0x0ffff;	
					ar=ax0+ay0;
					if not ac jump finishxb;
					
					si=dm(k);
					sr=lshift si by 1(lo);
					dm(k)=sro;
					si=dm(k1);
					sr=lshift si by -1(lo);
					dm(k1)=sro;
					si=dm(N2);
					sr=lshift si by -1(lo);
					dm(N2)=sro;
			
					ax0=0;
					dm(long)=ax0;	dm(dote)=ax0;
					dm(amp_fra)=ax0;dm(amp_int)=ax0;
					jump xbstart;
finishxb:				nop;
					idle;
					.endmode;

⌨️ 快捷键说明

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