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

📄 c5_1_2.asm

📁 dsp入门与实践一书的源代码
💻 ASM
字号:
                  .mmregs
DATA_SIZE       .set     256           
FILTER           .set     10           
STACK_SIZE      .set     256           

STACK           .usect   "stack",STACK_SIZE
;SYSTEM_STACK  .set     STACK_SIZE+STACK

DATA_DP         .usect   "filter_vars",0
filter              .usect   "filter_vars",FILTER*2
outputdata         .usect   "filter_vars",DATA_SIZE
errordata          .usect   "filter_vars",DATA_SIZE  

   			    .def	start
                  .data
                  .global   inputdata
inputdata
     	.WORD  	10408,   16451,    10820,    12227,    18146,    13106,    11485
     	.WORD  	15737,   9840,     3644,     8171,     4118,    -4355,     -624
      	.WORD  	-2443,   -11575,   -10290,    -8288,   -16156,   -16663,   -10543
      	.WORD  	-15433,   -17113,    -8010,   -11188,   -11286,    -3102,    -2176
      	.WORD  	-3726,    4075,     8836,     3665,    10937,    16347,    11278
     	.WORD  	13449,   19214,    13116,    11330,    16515,    10916,     4581
      	.WORD  	7920,     4852,    -3773,    -1259,    -2437,   -12459,   -10499
     	.WORD  	-8657,   -16091,   -15654,   -11133,   -15864,   -17015,    -8342
     	.WORD  	-10862,   -11228,    -2376,    -1394,    -3423,     4160,     7802
     	.WORD  	5087,    10683,    16178,    11318,    12040,    18459,    13601
     	.WORD  	10019,   16146,    10320,     4708,     9071,     3873,    -4214
      	.WORD  	-704,    -3586,   -11606,    -9998,    -8837,   -17008,   -16095
      	.WORD  	-10402,   -15357,   -16675,    -8536,   -11140,   -11943,    -2908
      	.WORD  	-1887,   -4719,     5099,     7887,     5169,    10683,    16744
     	.WORD  	11122,   12021,    18500,    12911,    10354,    16272,    10118
      	.WORD  	5139,     8244,     3601,    -3640,     -574,    -3111,   -12231
      	.WORD  	-10076,   -8626,   -17231,   -15279,   -10646,   -16684,   -17179
      	.WORD  	-7936,   -10141,   -11216,    -2285,     -903,    -3720,     5052
     	.WORD  	7833,     3880,    10946,    16387,    10515,    12519,    18743
     	.WORD  	12257,   10662,    16038,    10388,     3906,     9196,     4417
      	.WORD  	-4219,     -912,    -2419,   -11865,   -11209,    -9233,   -16353
      	.WORD  	-15469,   -10824,   -15744,   -17280,    -9320,   -10469,   -11427
     	.WORD  	-2313,     -875,    -4650,     4739,     8016,     4821,     9834
     	.WORD  	15507,   10613,    12142,    18944,    12333,    11383,    15673
     	.WORD  	10308,     4892,     8156,     4732,    -4849,     -955,    -2853
      	.WORD  	-11303,   -11279,    -9263,   -16185,   -15864,    -9999,   -16150
     	.WORD  	-16554,    -8656,   -10620,   -12215,    -2220,     -836,    -3474
     	.WORD  	4939,     9086,     4804,    10259,    15884,    10219,    12041
     	.WORD  	18582,   13394,    10321,    15635,    10087,     4313,     8034
      	.WORD  	5145,    -4469,     -908,    -2155,   -12436,   -11063,    -8792
     	.WORD  	-16193,   -16849,   -10633,   -15990,   -16297,    -8395,   -10178
      	.WORD  	-11597,   -2151,     -600,    -3487,     3862,     9267,     5004
     	.WORD  	9600,    15632,    10160,    13017,    18309,    13654,     9879
      	.WORD  	15890,    9795,     4551,     8900,     4029,    -4107,    -1672
      	.WORD  	-3324,   -11575,    -9976,    -8166,   -17320,   -15900,   -10976
      	.WORD  	-15948,   -15898,    -8530,   -10618,   -11542,    -2163,    -1343
      	.WORD  	-4333,     5094,     8127,     4794   

                .global   referdata
referdata
		.WORD     0,    -3196,   -6270,    -9102, 	-11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    -3196,   -6270,    -9102, 	-11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196   
		.WORD     0,    3196,    6270,    9102,   11585,   13623,   15137,   16069 
		.WORD     0,    -3196,   -6270,    -9102, 	-11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196   
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    3196,    6270,    9102,   11585,   13623,   15137,   16069 
		.WORD     0,    -3196,   -6270,    -9102, 	-11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    -3196,   -6270,    -9102, 	-11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    -3196,   -6270,    -9102, 	-11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    3196,    6270,    9102,   11585,   13623,   15137,   16069 
		.WORD   16384,   16069,   15137,   13623,   11585,   9102,    6270,    3196  
		.WORD     0,    -3196,   -6270,    -9102,   -11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    3196,    6270,    9102,   11585,   13623,   15137,   16069 
		.WORD   16384,   16069,   15137,   13623,   11585,   9102,    6270,    3196  
		.WORD     0,    -3196,   -6270,    -9102,   -11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    3196,    6270,    9102,   11585,   13623,   15137,   16069 
		.WORD   16384,   16069,   15137,   13623,   11585,   9102,    6270,    3196  
		.WORD     0,    -3196,   -6270,    -9102,   -11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  
		.WORD     0,    3196,    6270,    9102,   11585,   13623,   15137,   16069 
		.WORD 	16384,   16069,   15137,   13623,   11585,   9102,    6270,    3196  
		.WORD     0,    -3196,   -6270,    -9102, 	-11585,   -13623,   -15137,   -16069  
		.WORD  -16384,  -16069,  -15137,   -13623,  -11585,  -9102,   -6270,    -3196  

                .text
                .asg     AR2,INPUTDATA		
                .asg     AR3,FILTER
                .asg     AR4,OUTPUTDATA
                .asg     AR5,ERRORDATA
                .asg     AR6,REFERDATA

start:            SSBX     FRCT            	
                SSBX     INTM			
                LD       #DATA_DP,DP 		
                stm       #80,ar3		
                rpt       #10			
                mvpd     inputdata,*ar3+	
                STM      #STACK,SP		
                CALL     lmsfilter_start	
                NOP
                NOP
LOOP:          B        LOOP

                .def     delta			
                .def     lmsfilter_start
delta            .set      -08F5H             
one             .set     0001h    

                .text 
lmsfilter_start:
                STM      #inputdata,INPUTDATA
                STM      #filter,FILTER
                STM      #outputdata+9,OUTPUTDATA
                STM      #errordata+9,ERRORDATA
                STM      #referdata+9,REFERDATA
                STM      #filter+15,AR1         
                                           
                STM      #DATA_SIZE-10-1,BRC
                RPTB     lmsfilter_end 
                SUB      B,B   			
                RPT      #9
                LMS      *INPUTDATA+,*FILTER+   
                STH      B,*AR1
                SUB      B,B
                LD       *AR1,B                 
                STL      B,*OUTPUTDATA+
                SUB      *REFERDATA+,B
                STL      B,*ERRORDATA           
                MPY      *ERRORDATA+,#delta,B 
                STH      B,*AR1
                SUB      B,B
                LD       *AR1,B
               				
                STL      B,*AR1
                MPY      *AR1,#one,B 
                PSHM     RSA
                PSHM     REA 
                PSHM     BRC     
                LD       *INPUTDATA-,A
                LD       *FILTER-,A     
                STM      #9,BRC
                RPTB     circle_end	
                SUB      A,A
                LD       B,A
                MPY      *INPUTDATA-,B             
                STH      B,*AR1
                SUB      B,B
                LD       *AR1,B
                ADD      *FILTER,B
                STL      B,*FILTER-
                SUB      B,B
                LD       A,B
                NOP
circle_end:       NOP
                NOP               			
                STM      #DATA_SIZE-10-1,BRC
                RPTB     lmsfilter_end 
                POPM     BRC
                POPM     REA
                POPM     RSA
                NOP
                NOP
                LD       *INPUTDATA+,A
                LD       *INPUTDATA+,A
                LD       *FILTER+,A
                LD       *REFERDATA,A
                NOP
lmsfilter_end:     RET
                .end 

⌨️ 快捷键说明

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