www.pudn.com > DSPstudyandexample.rar > C6_2_1.ASM


				.mmregs 
				.ref		start 
				.data 
				.bss		speechin,1024,0,0		 
				.bss		speechsave,1024,0,0		 
				.bss		speechout,1024,0,0		 
 
				.text 
start:			 
				LD 		#1023,A				 
				STM		speechin,AR3			 
loop:				STL		A,*AR3+				 
				SUB    	#1,A 
				BC		loop,ANEQ 
				NOP 
				 
				STM		1D02h,AR7			 
				STM		#1023,*AR7 
				STM		speechin,AR3 
				STM		speechsave,AR4			 
loop1: 
				STM    	0,AR2 
				BIT		*AR3,15-9 
				RSBX   	OVM				 
				NOP 
				BC		positive,NTC		 
				STM		#1,AR2			 
				NEG    	A 
				LD 		#3FFh,B 
				AND   	B,A 
				STL		A,*AR3 
positive: 
				BIT		*AR3,15-8		 
				NOP 
				NOP 
				BC 		next1,NTC 
				LD 		#0F0h,B 
				LD		*AR3,A 
				AND    	B,A 
				ST 		7,*AR4 
				B 		cmpssover 
next1:			BIT		*AR3,15-7			 
				NOP 
				NOP 
				BC 		next2,NTC 
				LD 		#78h,B 
				AND    	B,A 
				RSBX   	C 
				ROL    	A 
				ST 		6,*AR4 
				B 		cmpssover 
next2:			BIT		*AR3,15-6			 
				NOP 
				NOP 
				BC 		next3,NTC 
				LD 		#3Ch,B 
				AND    	B,A 
				RSBX   	C 
				ROL	A 
				ROL	A 
				ST 		5,*AR4 
				B 		cmpssover 
next3:	       	BIT		*AR3,15-5				 
				NOP 
				NOP 
				BC 		next4,NTC 
				LD 		#1Eh,B 
				AND    	B,A 
				RSBX   	C 
				RPT		#2 
				ROL	A 
				ST 		4,*AR4 
				B 		cmpssover 
next4:			BIT		*AR3,15-4			 
				NOP 
				NOP 
				BC 		next5,NTC 
				LD 		#0Fh,B 
				AND    	B,A 
				RSBX   	C 
				RPT		#3 
				ROL	A 
				ST 		3,*AR4 
				B 		cmpssover 
next5:	        	BIT		*AR3,15-3			 
				NOP 
				NOP 
				BC 		next6,NTC 
				LD 		#7h,B 
				AND    	B,A 
				RSBX   	C 
				RPT		#4 
				ROL		A 
				ST 		2,*AR4 
				B 		cmpssover 
next6:			BIT		*AR3,15-2			 
				NOP 
				NOP 
				BC 		next7,NTC 
				LD 		#3h,B 
				AND    	B,A 
				RSBX   	C 
				RPT		#5 
				ROL		A 
				ST 		1,*AR4 
				B 		cmpssover 
next7:			LD 		#1h,B 
				AND    	B,A 
				RSBX   	C 
				RPT		#6 
				ROL		A 
				ST 		0,*AR4 
cmpssover:	 
				LDM		AR2,B 
				BC 		nchgsign,BEQ 
				LD 		*AR4,B 
				RSBX   	OVM 
				NEG    	B 
				STL		B,*AR4 
nchgsign: 
				LD 		#0Fh,B 
				AND   	*AR4,B 
				OR		B,A 
				STL		A,*AR4 
				NOP 
				LD 		*AR3+,A 
				LD		*AR4+,A 
				LD		*AR7,A 
				SUB		#1,A 
				STL		A,*AR7 
				BC		loop1,ANEQ 
				NOP 
				STM		#1023,*AR7 
				STM		speechsave,AR4 
				STM		speechout,AR3 
loop2: 
				STM		0,AR2 
				LD 		#0Fh,B 
				LD 		*AR4,A 
				AND 	B,A 
				BIT		*AR4,15-1			 
				NOP 
				NOP 
				BC 		nchgsign2,NTC 
				STM		1,AR2 
				RSBX	OVM 
				NEG 	A 
				AND 	B,A 
nchgsign2:			 
				BC 		dcmpssover,AEQ 
				STM		1D00h,AR5 
				STL 		A,*AR5 
				STM		1D01h,AR6 
				LD 		#7,A 
				SUB		*AR5,A 
				STL 		A,*AR6 
				 
				LD 		*AR4,A 
				LD     	#0F0h,B 
				AND   	B,A 
				LD 		#2,B 
				RSBX	C 
				RPT 		*AR5 
				ROL 	B 
				ROR	B 
				RPT		*AR6 
				ROR	A 
				ROL	A 
dcmpssover:			 
				ADD 	A,B 
				LDM 	AR2,A 
				BC 		nchgsign3,AEQ 
				RSBX	OVM 
				NEG 	B 
nchgsign3:			 
				STL		B,*AR3 
				NOP	 
				LD 		*AR3+,A 
				LD		*AR4+,A 
				LD		*AR7,A 
				SUB		#1,A 
				STL		A,*AR7 
				BC		loop2,ANEQ 
				NOP	 
finish:           	B       finish