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

📄 c_meanfilter.asm

📁 基于VPM642开发板的中值滤波程序
💻 ASM
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Mon Feb 05 12:26:03 2007                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C64xx                                          *
;*   Optimization      : Disabled                                             *
;*   Optimizing for    : Compile time, Ease of Development                    *
;*                       Based on options: no -o, no -ms                      *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : COFF Debug                                           *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss

	.file	"C_meanfilter.c"
;	d:\ti\c6000\cgtools\bin\acp6x.exe -@C:\DOCUME~1\rado\LOCALS~1\Temp\TI3128_4 

	.sect	".text"
	.global	_C_meanfilter
	.sym	_C_meanfilter,_C_meanfilter, 32, 2, 0
	.func	1

;******************************************************************************
;* FUNCTION NAME: _C_meanfilter                                               *
;*                                                                            *
;*   Regs Modified     : A0,A3,A4,B0,B4,B5,B6,SP                              *
;*   Regs Used         : A0,A3,A4,A6,A8,B0,B3,B4,B5,B6,SP                     *
;*   Local Frame Size  : 0 Args + 48 Auto + 0 Save = 48 byte                  *
;******************************************************************************
_C_meanfilter:
;** --------------------------------------------------------------------------*
	.line	4
	.sym	_ColumnA,4, 28, 17, 32
	.sym	_ColumnB,20, 28, 17, 32
	.sym	_ColumnC,6, 28, 17, 32
	.sym	_WIDTH,22, 4, 17, 32
	.sym	_ColumnP,8, 28, 17, 32
	.sym	_ColumnA,4, 28, 1, 32
	.sym	_ColumnB,8, 28, 1, 32
	.sym	_ColumnC,12, 28, 1, 32
	.sym	_WIDTH,16, 4, 1, 32
	.sym	_ColumnP,20, 28, 1, 32
	.sym	_j,24, 4, 1, 32
	.sym	_k,28, 4, 1, 32
	.sym	_l,32, 4, 1, 32
	.sym	_midbuff,36, 12, 1, 8
	.sym	_buff,40, 60, 1, 72,, 9
           ADDK    .S2     -48,SP            ; |4| 

           STW     .D2T1   A8,*+SP(20)       ; |4| 
||         MV      .D1X    B6,A3             ; |4| 

           STW     .D2T1   A3,*+SP(16)       ; |4| 
           STW     .D2T1   A6,*+SP(12)       ; |4| 
           STW     .D2T2   B4,*+SP(8)        ; |4| 
           STW     .D2T1   A4,*+SP(4)        ; |4| 
           NOP             2
	.line	7
           ZERO    .D2     B4                ; |7| 
           STW     .D2T2   B4,*+SP(24)       ; |7| 
           LDW     .D2T2   *+SP(16),B4       ; |7| 
           LDW     .D2T2   *+SP(24),B5       ; |7| 
           NOP             3
           SUB     .D2     B4,2,B4           ; |7| 
           CMPLT   .L2     B5,B4,B0          ; |7| 
   [!B0]   BNOP    .S1     L7,5              ; |7| 
           ; BRANCH OCCURS                   ; |7| 
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L1
;** --------------------------------------------------------------------------*
L1:    
	.line	9
           LDW     .D2T1   *+SP(4),A4        ; |9| 
           NOP             3
           MV      .D1X    B5,A3
           LDBU    .D1T2   *+A4[A3],B4       ; |9| 
           NOP             4
           STB     .D2T2   B4,*+SP(40)       ; |9| 
           NOP             2
	.line	10
           LDW     .D2T2   *+SP(24),B4       ; |10| 
           NOP             4
           ADD     .D1X    1,B4,A3           ; |10| 
           LDBU    .D1T2   *+A4[A3],B4       ; |10| 
           NOP             4
           STB     .D2T2   B4,*+SP(41)       ; |10| 
           NOP             2
	.line	11
           LDW     .D2T2   *+SP(24),B4       ; |11| 
           NOP             4
           ADD     .D1X    2,B4,A3           ; |11| 
           LDBU    .D1T1   *+A4[A3],A3       ; |11| 
           NOP             4
           STB     .D2T1   A3,*+SP(42)       ; |11| 
           NOP             2
	.line	12
           LDW     .D2T1   *+SP(8),A4        ; |12| 
           LDW     .D2T1   *+SP(24),A3       ; |12| 
           NOP             4
           LDBU    .D1T2   *+A4[A3],B4       ; |12| 
           NOP             4
           STB     .D2T2   B4,*+SP(43)       ; |12| 
           NOP             2
	.line	13
           LDW     .D2T2   *+SP(24),B4       ; |13| 
           NOP             4
           ADD     .D1X    1,B4,A3           ; |13| 
           LDBU    .D1T1   *+A4[A3],A3       ; |13| 
           NOP             4
           STB     .D2T1   A3,*+SP(44)       ; |13| 
           NOP             2
	.line	14
           LDW     .D2T2   *+SP(24),B4       ; |14| 
           NOP             4
           ADD     .D1X    2,B4,A3           ; |14| 
           LDBU    .D1T1   *+A4[A3],A3       ; |14| 
           NOP             4
           STB     .D2T1   A3,*+SP(45)       ; |14| 
           NOP             2
	.line	15
           LDW     .D2T1   *+SP(12),A4       ; |15| 
           LDW     .D2T1   *+SP(24),A3       ; |15| 
           NOP             4
           LDBU    .D1T2   *+A4[A3],B4       ; |15| 
           NOP             4
           STB     .D2T2   B4,*+SP(46)       ; |15| 
           NOP             2
	.line	16
           LDW     .D2T2   *+SP(24),B4       ; |16| 
           NOP             4
           ADD     .D1X    1,B4,A3           ; |16| 
           LDBU    .D1T1   *+A4[A3],A3       ; |16| 
           NOP             4
           STB     .D2T1   A3,*+SP(47)       ; |16| 
           NOP             2
	.line	17
           LDW     .D2T2   *+SP(24),B4       ; |17| 
           NOP             3
           MV      .S2X    A4,B5             ; |17| 
           ADD     .D2     2,B4,B4           ; |17| 
           LDBU    .D2T2   *+B5[B4],B4       ; |17| 
           NOP             4
           STB     .D2T2   B4,*+SP(48)       ; |17| 
           NOP             2
	.line	18
           ZERO    .D2     B4                ; |18| 
           CMPLT   .L2     B4,9,B0           ; |18| 
   [!B0]   BNOP    .S1     L6,4              ; |18| 
           STW     .D2T2   B4,*+SP(28)       ; |18| 
           ; BRANCH OCCURS                   ; |18| 
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L2
;** --------------------------------------------------------------------------*
L2:    
	.line	20
           ADD     .D2     1,B4,B4           ; |20| 
           CMPLT   .L2     B4,9,B0           ; |20| 
   [!B0]   BNOP    .S1     L5,4              ; |20| 
           STW     .D2T2   B4,*+SP(32)       ; |20| 
           ; BRANCH OCCURS                   ; |20| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L3:    
	.line	22
           LDW     .D2T1   *+SP(28),A3       ; |22| 
           MVK     .S1     40,A4             ; |22| 
           ADD     .D2     B4,SP,B5          ; |22| 
           MVK     .S2     40,B4             ; |22| 
           LDBU    .D2T2   *+B4[B5],B4       ; |22| 
           ADD     .D1X    A3,SP,A3          ; |22| 
           LDBU    .D1T1   *+A4[A3],A3       ; |22| 
           NOP             4
           CMPGT   .L1X    A3,B4,A0          ; |22| 
   [!A0]   BNOP    .S1     L4,5              ; |22| 
           ; BRANCH OCCURS                   ; |22| 
;** --------------------------------------------------------------------------*
	.line	24
           LDW     .D2T1   *+SP(28),A3       ; |24| 
           NOP             4
           ADD     .D1X    A3,SP,A3          ; |24| 
           LDBU    .D1T1   *+A4[A3],A3       ; |24| 
           NOP             4
           STB     .D2T1   A3,*+SP(36)       ; |24| 
           NOP             2
	.line	25
           LDW     .D2T2   *+SP(32),B4       ; |25| 
           NOP             1
           LDW     .D2T2   *+SP(28),B5       ; |25| 
           NOP             2

           MVK     .S2     40,B4             ; |25| 
||         ADD     .L2     B4,SP,B6          ; |25| 

           LDBU    .D2T2   *+B4[B6],B4       ; |25| 
           NOP             2
           ADD     .D2     B5,SP,B5          ; |25| 
           MVK     .S2     40,B6             ; |25| 
           STB     .D2T2   B4,*+B6[B5]       ; |25| 
           NOP             2
	.line	26
           LDW     .D2T1   *+SP(32),A3       ; |26| 
           LDBU    .D2T2   *+SP(36),B4       ; |26| 
           NOP             3

           MVK     .S1     40,A3             ; |26| 
||         ADD     .D1X    A3,SP,A4          ; |26| 

           STB     .D1T2   B4,*+A3[A4]       ; |26| 
;** --------------------------------------------------------------------------*
L4:    
	.line	28
           LDW     .D2T2   *+SP(32),B4       ; |28| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |28| 
           CMPLT   .L2     B4,9,B0           ; |28| 
   [ B0]   BNOP    .S1     L3,4              ; |28| 
           STW     .D2T2   B4,*+SP(32)       ; |28| 
           ; BRANCH OCCURS                   ; |28| 
;** --------------------------------------------------------------------------*
L5:    
	.line	29
           LDW     .D2T2   *+SP(28),B4       ; |29| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |29| 
           CMPLT   .L2     B4,9,B0           ; |29| 
   [ B0]   BNOP    .S1     L2,4              ; |29| 
           STW     .D2T2   B4,*+SP(28)       ; |29| 
           ; BRANCH OCCURS                   ; |29| 
;** --------------------------------------------------------------------------*
L6:    
	.line	30
           LDW     .D2T2   *+SP(24),B5       ; |30| 
           LDW     .D2T2   *+SP(20),B6       ; |30| 
           LDBU    .D2T2   *+SP(44),B4       ; |30| 
           NOP             3
           ADD     .D2     2,B5,B5           ; |30| 
           STB     .D2T2   B4,*+B6[B5]       ; |30| 
           NOP             2
	.line	31
           LDW     .D2T2   *+SP(24),B4       ; |31| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |31| 
           STW     .D2T2   B4,*+SP(24)       ; |31| 
           LDW     .D2T2   *+SP(16),B4       ; |31| 
           LDW     .D2T2   *+SP(24),B5       ; |31| 
           NOP             3
           SUB     .D2     B4,2,B4           ; |31| 
           CMPLT   .L2     B5,B4,B0          ; |31| 
   [ B0]   BNOP    .S1     L1,5              ; |31| 
           ; BRANCH OCCURS                   ; |31| 
;** --------------------------------------------------------------------------*
L7:    
	.line	32
           RETNOP  .S2     B3,4              ; |32| 
           ADDK    .S2     48,SP             ; |32| 
           ; BRANCH OCCURS                   ; |32| 
	.endfunc	32,000000000h,48



;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

⌨️ 快捷键说明

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