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

📄 filter.lst

📁 DSP关于F2407的实例程序
💻 LST
字号:
C:\tic2xx\c2000\cgtools\bin\dspa.exe FILTER.asm FILTER.obj -gls -v2xx 

TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999  Texas Instruments Incorporated 
FILTER.asm                                                           PAGE    1

       1            ;===================================================================== 
       2            ; File name     :       FILTER.asm
       3            ; Module Name   :       FILTER
       4            ; Description   :       防脉冲平均值滤波器
       5            ;       
       6            ;
       7            ;                       |~~~~~~~~~~~~~~~|
       8            ;                       |               |
       9            ;       IST0    o---->  |     FILTER    |----->o FILTER_RESULT
      10            ;  (FILTER_Y1-6)      |               |
      11            ;                       |______________ |
      12            ; 2004.9.22
      13            ;===================================================================== 
      14                            .include "f2407.h"
      15                            
      16                            .global FILTER,FILTER_INIT              ;function call
      17                            
      18                            .global IST0                            ;input
      19                            .global FILTER_Y1,FILTER_Y2,FILTER_Y3,FILTER_Y4
      20                            .global FILTER_Y5,FILTER_Y6,FILTER_Y7,FILTER_Y8,FILTER_Y9,FILTER_Y10
      21                            .global TEMP,FILTER_RESULT,FILTER_MAX,FILTER_MIN,FILTER_COUNT
      22                            
      23            ;===================================================================== 
      24 0000       FILTER_INIT:
      25            ;===================================================================== 
      26 0000 bc04                  LDP     #DP_DATA
      27 0001 ae00!                 SPLK    #0,FILTER_COUNT 
         0002 0000  
      28 0003 ae00!                 SPLK    #0,FILTER_RESULT                
         0004 0000  
      29 0005 ef00                  RET
      30            ;===================================================================== 
      31 0006       FILTER:
      32            ;=====================================================================          
      33 0006 bf00                  SPM     0
      34 0007 be47                  SETC    SXM                     
      35            ;-----------------------------------------------------------
      36 0008 bc04                  LDP     #DP_DATA
      37 0009 1000!                 LACC    IST0
      38 000a 9000!                 SACL    FILTER_Y1       ;IST0暂存到FILTER_Y1
      39            ;-------------
      40            ;判断是否10个值都有。
      41 000b 1000!                 LACC    FILTER_COUNT                    
      42 000c ba0a                  SUB     #10
      43 000d e304                  BCND    FILTER_CAL,GT
         000e 0013' 
      44 000f b80b                  ADD     #11             
      45 0010 9000!                 SACL    FILTER_COUNT    ;否则加1(已经减10,所以加11)
      46 0011 7980                  B       END_FILTER
         0012 0091' 
      47            ; 计算FILTER_MAX
      48 0013 1000! FILTER_CAL:     LACC    FILTER_Y1
      49 0014 9000!                 SACL    FILTER_MAX      ;Y1最大,ACC=Y1
      50 0015 3000!                 SUB     FILTER_Y2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999  Texas Instruments Incorporated 
FILTER.asm                                                           PAGE    2

      51 0016 e304                  BCND    NEXT1,GT        ;FILTER_Y1>FILTER_Y2时跳到NEXT1
         0017 001a' 
      52 0018 1000!                 LACC    FILTER_Y2
      53 0019 9000!                 SACL    FILTER_MAX      ;Y2最大,ACC=Y2
      54 001a       NEXT1:          
      55 001a 1000!                 LACC    FILTER_MAX
      56 001b 3000!                 SUB     FILTER_Y3
      57 001c e304                  BCND    NEXT2,GT        ;FILTER_MAX>FILTER_Y3时跳到NEXT2
         001d 0020' 
      58 001e 1000!                 LACC    FILTER_Y3
      59 001f 9000!                 SACL    FILTER_MAX      ;Y3最大
      60 0020       NEXT2:
      61 0020 1000!                 LACC    FILTER_MAX
      62 0021 3000!                 SUB     FILTER_Y4
      63 0022 e304                  BCND    NEXT7,GT        ;FILTER_MAX>FILTER_Y4时跳到NEXT3
         0023 0026' 
      64 0024 1000!                 LACC    FILTER_Y4
      65 0025 9000!                 SACL    FILTER_MAX      ;Y4最大
      66 0026       NEXT7:          
      67 0026 1000!                 LACC    FILTER_MAX
      68 0027 3000!                 SUB     FILTER_Y5
      69 0028 e304                  BCND    NEXT8,GT        ;FILTER_MAX>FILTER_Y5时跳
         0029 002c' 
      70 002a 1000!                 LACC    FILTER_Y5
      71 002b 9000!                 SACL    FILTER_MAX      ;Y5最大 
      72 002c       NEXT8:          
      73 002c 1000!                 LACC    FILTER_MAX
      74 002d 3000!                 SUB     FILTER_Y6
      75 002e e304                  BCND    NEXT11,GT       ;FILTER_MAX>FILTER_Y6时跳
         002f 0032' 
      76 0030 1000!                 LACC    FILTER_Y6
      77 0031 9000!                 SACL    FILTER_MAX      ;Y6最大         
      78 0032       NEXT11:         
      79 0032 1000!                 LACC    FILTER_MAX
      80 0033 3000!                 SUB     FILTER_Y7
      81 0034 e304                  BCND    NEXT12,GT       
         0035 0038' 
      82 0036 1000!                 LACC    FILTER_Y7
      83 0037 9000!                 SACL    FILTER_MAX      
      84 0038       NEXT12:         
      85 0038 1000!                 LACC    FILTER_MAX
      86 0039 3000!                 SUB     FILTER_Y8
      87 003a e304                  BCND    NEXT13,GT       
         003b 003e' 
      88 003c 1000!                 LACC    FILTER_Y8
      89 003d 9000!                 SACL    FILTER_MAX      
      90 003e       NEXT13:         
      91 003e 1000!                 LACC    FILTER_MAX
      92 003f 3000!                 SUB     FILTER_Y9
      93 0040 e304                  BCND    NEXT14,GT       
         0041 0044' 
      94 0042 1000!                 LACC    FILTER_Y9
      95 0043 9000!                 SACL    FILTER_MAX      
      96 0044       NEXT14:         
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999  Texas Instruments Incorporated 
FILTER.asm                                                           PAGE    3

      97 0044 1000!                 LACC    FILTER_MAX
      98 0045 3000!                 SUB     FILTER_Y10
      99 0046 e304                  BCND    NEXT3,GT        
         0047 004a' 
     100 0048 1000!                 LACC    FILTER_Y10
     101 0049 9000!                 SACL    FILTER_MAX      
     102            ; 计算FILTER_MIN                
     103 004a       NEXT3:
     104 004a 1000!                 LACC    FILTER_Y1
     105 004b 9000!                 SACL    FILTER_MIN      ;Y1最小
     106 004c 3000!                 SUB     FILTER_Y2
     107 004d e344                  BCND    NEXT4,LT        ;FILTER_Y2>FILTER_Y1时跳转
         004e 0051' 
     108 004f 1000!                 LACC    FILTER_Y2
     109 0050 9000!                 SACL    FILTER_MIN      ;Y2最小
     110 0051       NEXT4:          
     111 0051 1000!                 LACC    FILTER_MIN
     112 0052 3000!                 SUB     FILTER_Y3
     113 0053 e344                  BCND    NEXT5,LT        ;FILTER_Y3>FILTER_MIN时跳
         0054 0057' 
     114 0055 1000!                 LACC    FILTER_Y3
     115 0056 9000!                 SACL    FILTER_MIN      ;Y3最小
     116 0057       NEXT5:
     117 0057 1000!                 LACC    FILTER_MIN
     118 0058 3000!                 SUB     FILTER_Y4
     119 0059 e344                  BCND    NEXT9,LT        ;FILTER_Y4>FILTER_MIN时跳
         005a 005d' 
     120 005b 1000!                 LACC    FILTER_Y4
     121 005c 9000!                 SACL    FILTER_MIN      ;Y4最小
     122 005d       NEXT9:
     123 005d 1000!                 LACC    FILTER_MIN
     124 005e 3000!                 SUB     FILTER_Y5
     125 005f e344                  BCND    NEXT10,LT       ;FILTER_Y5>FILTER_MIN时跳
         0060 0063' 
     126 0061 1000!                 LACC    FILTER_Y5
     127 0062 9000!                 SACL    FILTER_MIN      ;Y5最小
     128 0063       NEXT10:
     129 0063 1000!                 LACC    FILTER_MIN
     130 0064 3000!                 SUB     FILTER_Y6
     131 0065 e344                  BCND    NEXT15,LT       ;FILTER_Y6>FILTER_MIN时跳
         0066 0069' 
     132 0067 1000!                 LACC    FILTER_Y6
     133 0068 9000!                 SACL    FILTER_MIN      ;Y6最小 
     134 0069       NEXT15:
     135 0069 1000!                 LACC    FILTER_MIN
     136 006a 3000!                 SUB     FILTER_Y7
     137 006b e344                  BCND    NEXT16,LT       
         006c 006f' 
     138 006d 1000!                 LACC    FILTER_Y7
     139 006e 9000!                 SACL    FILTER_MIN                                      
     140 006f       NEXT16:
     141 006f 1000!                 LACC    FILTER_MIN
     142 0070 3000!                 SUB     FILTER_Y8
     143 0071 e344                  BCND    NEXT17,LT       
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999  Texas Instruments Incorporated 
FILTER.asm                                                           PAGE    4

         0072 0075' 
     144 0073 1000!                 LACC    FILTER_Y8
     145 0074 9000!                 SACL    FILTER_MIN                                      
     146 0075       NEXT17:
     147 0075 1000!                 LACC    FILTER_MIN
     148 0076 3000!                 SUB     FILTER_Y9
     149 0077 e344                  BCND    NEXT18,LT       
         0078 007b' 
     150 0079 1000!                 LACC    FILTER_Y9
     151 007a 9000!                 SACL    FILTER_MIN                                      
     152 007b       NEXT18:
     153 007b 1000!                 LACC    FILTER_MIN
     154 007c 3000!                 SUB     FILTER_Y10
     155 007d e344                  BCND    NEXT6,LT        
         007e 0081' 
     156 007f 1000!                 LACC    FILTER_Y10
     157 0080 9000!                 SACL    FILTER_MIN                                              
     158            ;---------------
     159 0081       NEXT6:  
     160 0081 1000!                 LACC    FILTER_Y1
     161 0082 2000!                 ADD     FILTER_Y2
     162 0083 2000!                 ADD     FILTER_Y3
     163 0084 2000!                 ADD     FILTER_Y4
     164 0085 2000!                 ADD     FILTER_Y5
     165 0086 2000!                 ADD     FILTER_Y6
     166 0087 2000!                 ADD     FILTER_Y7
     167 0088 2000!                 ADD     FILTER_Y8
     168 0089 2000!                 ADD     FILTER_Y9
     169 008a 2000!                 ADD     FILTER_Y10
     170 008b 3000!                 SUB     FILTER_MAX
     171 008c 3000!                 SUB     FILTER_MIN
     172 008d be0a                  SFR
     173 008e be0a                  SFR
     174 008f be0a                  SFR                     ;算术右移一位,相当于除2。
     175 0090 9000!                 SACL    FILTER_RESULT   ;滤波结果。
     176            ;---------------
     177            ;把Y值前移。
     178 0091 1000! END_FILTER:     LACC    FILTER_Y9
     179 0092 9000!                 SACL    FILTER_Y10
     180 0093 1000!                 LACC    FILTER_Y8
     181 0094 9000!                 SACL    FILTER_Y9
     182 0095 1000!                 LACC    FILTER_Y7
     183 0096 9000!                 SACL    FILTER_Y8
     184 0097 1000!                 LACC    FILTER_Y6
     185 0098 9000!                 SACL    FILTER_Y7
     186 0099 1000!                 LACC    FILTER_Y5
     187 009a 9000!                 SACL    FILTER_Y6
     188 009b 1000!                 LACC    FILTER_Y4
     189 009c 9000!                 SACL    FILTER_Y5
     190 009d 1000!                 LACC    FILTER_Y3
     191 009e 9000!                 SACL    FILTER_Y4
     192 009f 1000!                 LACC    FILTER_Y2
     193 00a0 9000!                 SACL    FILTER_Y3
     194 00a1 1000!                 LACC    FILTER_Y1
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Thu Sep 23 16:17:45 2004
Copyright (c) 1987-1999  Texas Instruments Incorporated 
FILTER.asm                                                           PAGE    5

     195 00a2 9000!                 SACL    FILTER_Y2
     196            ;---------------------------------------------------------------------------            
     197 00a3 bf00                  SPM     0
     198 00a4 be47                  SETC    SXM
     199 00a5 ef00                  RET     
     200                    

 No Errors,  No Warnings

⌨️ 快捷键说明

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