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

📄 c_sobel.asm

📁 基于VPM642开发板的sobel边缘检测程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Wed Apr 04 08:50:08 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_sobel.c"
;	d:\ti\c6000\cgtools\bin\acp6x.exe -@C:\DOCUME~1\rado\LOCALS~1\Temp\TI3412_4 

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

;******************************************************************************
;* FUNCTION NAME: _C_sobel                                                    *
;*                                                                            *
;*   Regs Modified     : A3,A4,A5,A6,A7,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,*
;*                           B12,B13,SP,B16,B17,B18,B19,B20,B21,B22,B23,B24,  *
;*                           B25,B26,B27,B28,B29,B30,B31                      *
;*   Regs Used         : A3,A4,A5,A6,A7,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,*
;*                           B12,B13,SP,B16,B17,B18,B19,B20,B21,B22,B23,B24,  *
;*                           B25,B26,B27,B28,B29,B30,B31                      *
;*   Local Frame Size  : 0 Args + 36 Auto + 20 Save = 56 byte                 *
;******************************************************************************
_C_sobel:
;** --------------------------------------------------------------------------*
	.line	3
	.sym	_indata,4, 28, 17, 32
	.sym	_width,20, 4, 17, 32
	.sym	_height,6, 4, 17, 32
	.sym	_outdata,22, 28, 17, 32
	.sym	_indata,4, 28, 1, 32
	.sym	_width,8, 4, 1, 32
	.sym	_height,12, 4, 1, 32
	.sym	_outdata,16, 28, 1, 32
	.sym	_i,20, 4, 1, 32
	.sym	_j,24, 4, 1, 32
	.sym	_a,28, 4, 1, 32
	.sym	_b,32, 4, 1, 32
	.sym	_c,36, 4, 1, 32
           STW     .D2T2   B13,*SP--(56)     ; |3| 
           STDW    .D2T2   B11:B10,*+SP(48)  ; |3| 
           STW     .D2T2   B12,*+SP(44)      ; |3| 
           STW     .D2T2   B3,*+SP(40)       ; |3| 
           NOP             2
           MV      .D1X    B6,A3             ; |3| 
           STW     .D2T1   A3,*+SP(16)       ; |3| 
           STW     .D2T1   A6,*+SP(12)       ; |3| 
           STW     .D2T2   B4,*+SP(8)        ; |3| 
           STW     .D2T1   A4,*+SP(4)        ; |3| 
           NOP             2
	.line	7
           MVK     .D2     1,B4              ; |7| 
           STW     .D2T2   B4,*+SP(20)       ; |7| 
           LDW     .D2T2   *+SP(12),B4       ; |7| 
           LDW     .D2T2   *+SP(20),B5       ; |7| 
           NOP             3
           SUB     .D2     B4,1,B4           ; |7| 
           CMPLT   .L2     B5,B4,B0          ; |7| 
   [!B0]   BNOP    .S1     L5,5              ; |7| 
           ; BRANCH OCCURS                   ; |7| 
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L1
;** --------------------------------------------------------------------------*
L1:    
	.line	8
           MVK     .D2     1,B4              ; |8| 
           STW     .D2T2   B4,*+SP(24)       ; |8| 
           LDW     .D2T2   *+SP(8),B4        ; |8| 
           LDW     .D2T2   *+SP(24),B5       ; |8| 
           NOP             3
           SUB     .D2     B4,1,B4           ; |8| 
           CMPLT   .L2     B5,B4,B0          ; |8| 
   [!B0]   BNOP    .S1     L4,5              ; |8| 
           ; BRANCH OCCURS                   ; |8| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L2:    
	.line	9
           LDW     .D2T2   *+SP(20),B5       ; |9| 
           LDW     .D2T2   *+SP(8),B9        ; |9| 
           NOP             2
           LDW     .D2T2   *+SP(24),B13      ; |9| 
           LDW     .D2T2   *+SP(4),B23       ; |9| 
           MPYLH   .M2     B9,B5,B4          ; |9| 
           MPYLH   .M2     B5,B9,B28         ; |9| 

           SUB     .S2     B5,1,B20          ; |9| 
||         MV      .D2     B9,B27            ; |9| 
||         MPYU    .M2     B9,B5,B1          ; |9| 

           MPYLH   .M2     B27,B20,B3        ; |9| 

           MV      .S2     B5,B6             ; |9| 
||         MV      .D2     B9,B19            ; |9| 
||         MPYLH   .M2     B20,B27,B2        ; |9| 

           MV      .D2     B9,B18            ; |9| 
||         MPYLH   .M2     B19,B6,B30        ; |9| 

           ADD     .D2     1,B5,B9           ; |9| 
||         MV      .L2     B9,B24            ; |9| 
||         MV      .S2     B9,B26            ; |9| 
||         MPYLH   .M2     B6,B19,B0         ; |9| 

           SUB     .S2     B5,1,B25          ; |9| 
||         MPYLH   .M2     B26,B9,B11        ; |9| 

           ADD     .L2     1,B13,B8          ; |9| 
||         MV      .S2     B13,B29           ; |9| 
||         MV      .D2     B13,B12           ; |9| 
||         MPYLH   .M2     B9,B26,B10        ; |9| 

           MPYLH   .M2     B25,B24,B13       ; |9| 
||         ADD     .D2     1,B13,B28         ; |9| 
||         SUB     .D1X    B13,1,A3          ; |9| 
||         MV      .L2     B13,B31           ; |9| 
||         ADD     .S2     B4,B28,B4         ; |9| 

           MPYLH   .M2     B24,B25,B12       ; |9| 
||         ADD     .D2     1,B12,B2          ; |9| 
||         ADD     .L2     B3,B2,B4          ; |9| 
||         SHL     .S2     B4,16,B3          ; |9| 

           ADD     .D2     B30,B0,B31        ; |9| 
||         MPYU    .M2     B27,B20,B30       ; |9| 
||         SUB     .S2     B31,1,B20         ; |9| 

           ADD     .S2     1,B5,B17          ; |9| 
||         ADD     .D2     B11,B10,B11       ; |9| 
||         MPYU    .M2     B26,B9,B9         ; |9| 

           MPYLH   .M2     B18,B17,B12       ; |9| 
||         SHL     .S2     B11,16,B29        ; |9| 
||         SUB     .L2     B29,1,B11         ; |9| 
||         ADD     .D2     B12,B13,B13       ; |9| 

           MPYLH   .M2     B17,B18,B4        ; |9| 
||         MV      .L2     B23,B22           ; |9| 
||         MV      .D2     B23,B21           ; |9| 
||         SHL     .S2     B4,16,B10         ; |9| 

           MV      .L2     B23,B7            ; |9| 
||         MV      .S2     B23,B16           ; |9| 
||         ADD     .D2     B9,B29,B19        ; |9| 
||         MPYU    .M2     B19,B6,B9         ; |9| 

           ADD     .D2     B1,B3,B4          ; |9| 
||         ADD     .L2     B12,B4,B31        ; |9| 
||         SHL     .S2     B31,16,B26        ; |9| 

           ADD     .D2     B30,B10,B24       ; |9| 
||         MPYU    .M2     B24,B25,B4        ; |9| 
||         SHL     .S2     B13,16,B27        ; |9| 
||         ADD     .L2     B8,B4,B8          ; |9| 

           ADD     .L2     B28,B24,B8        ; |9| 
||         LDBU    .D2T2   *+B23[B8],B6      ; |9| 
||         SHL     .S2     B31,16,B25        ; |9| 

           ADD     .S2     B2,B19,B4         ; |9| 
||         ADD     .L2     B4,B27,B17        ; |9| 
||         MPYU    .M2     B18,B17,B18       ; |9| 
||         LDBU    .D2T2   *+B22[B8],B8      ; |9| 

           LDBU    .D2T2   *+B21[B4],B9      ; |9| 
||         ADD     .S2     B11,B17,B4        ; |9| 
||         ADD     .L2     B9,B26,B17        ; |9| 

           ADD     .S2     B18,B25,B7        ; |9| 
||         LDBU    .D2T2   *+B7[B4],B4       ; |9| 
||         ADD     .L2     B20,B17,B17       ; |9| 

           MV      .D1X    B23,A4            ; |9| 
||         LDBU    .D2T2   *+B16[B17],B5     ; |9| 

           ADD     .D1X    A3,B7,A3          ; |9| 

           ADDAH   .D2     B8,B6,B6          ; |9| 
||         LDBU    .D1T1   *+A4[A3],A3       ; |9| 

           ADD     .D2     B9,B6,B6          ; |9| 

⌨️ 快捷键说明

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