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

📄 distancetransform_c.asm

📁 基于VPM642的距离变换程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Wed Mar 28 09:33: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	"DistanceTransform_c.c"
;	d:\ti\c6000\cgtools\bin\acp6x.exe -@C:\DOCUME~1\rado\LOCALS~1\Temp\TI2760_4 

	.sect	".text"
	.global	_DistanceTransform_C
	.sym	_DistanceTransform_C,_DistanceTransform_C, 36, 2, 0
	.func	2

;******************************************************************************
;* FUNCTION NAME: _DistanceTransform_C                                        *
;*                                                                            *
;*   Regs Modified     : A3,A4,A5,B0,B4,B5,B6,B7,B8,B9,SP,B16,B17,B18         *
;*   Regs Used         : A3,A4,A5,A6,B0,B3,B4,B5,B6,B7,B8,B9,SP,B16,B17,B18   *
;*   Local Frame Size  : 0 Args + 44 Auto + 0 Save = 44 byte                  *
;******************************************************************************
_DistanceTransform_C:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_indata,4, 28, 17, 32
	.sym	_outdata,20, 28, 17, 32
	.sym	_width,6, 4, 17, 32
	.sym	_height,22, 4, 17, 32
	.sym	_indata,4, 28, 1, 32
	.sym	_outdata,8, 28, 1, 32
	.sym	_width,12, 4, 1, 32
	.sym	_height,16, 4, 1, 32
	.sym	_weight,24, 52, 1, 96,, 3
	.sym	_i,36, 4, 1, 32
	.sym	_j,40, 4, 1, 32
	.sym	_minP,44, 4, 1, 32
           ADDK    .S2     -48,SP            ; |3| 
           STW     .D2T2   B6,*+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     .D1     3,A3              ; |8| 
           STW     .D2T1   A3,*+SP(24)       ; |8| 
           NOP             2
	.line	8
           MVK     .D1     4,A3              ; |9| 
           STW     .D2T1   A3,*+SP(28)       ; |9| 
           NOP             2
	.line	9
           MVK     .S2     255,B4            ; |10| 
           STW     .D2T2   B4,*+SP(32)       ; |10| 
           NOP             2
	.line	12
           ZERO    .D2     B4                ; |13| 
           STW     .D2T2   B4,*+SP(36)       ; |13| 
           LDW     .D2T2   *+SP(16),B4       ; |13| 
           NOP             3
           ZERO    .D2     B5                ; |13| 
           CMPLT   .L2     B5,B4,B0          ; |13| 
   [!B0]   BNOP    .S1     L4,5              ; |13| 
           ; BRANCH OCCURS                   ; |13| 
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L1
;** --------------------------------------------------------------------------*
L1:    
	.line	13
           ZERO    .D2     B4                ; |14| 
           STW     .D2T2   B4,*+SP(40)       ; |14| 
           LDW     .D2T2   *+SP(40),B5       ; |14| 
           LDW     .D2T2   *+SP(12),B4       ; |14| 
           NOP             4
           CMPLT   .L2     B5,B4,B0          ; |14| 
   [!B0]   BNOP    .S1     L3,5              ; |14| 
           ; BRANCH OCCURS                   ; |14| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L2:    
	.line	14
           LDW     .D2T2   *+SP(36),B6       ; |15| 
           NOP             1
           MV      .D2     B4,B7
           LDW     .D2T2   *+SP(40),B9       ; |15| 
           MV      .L2     B4,B5             ; |15| 
           MPYLH   .M2     B7,B6,B17         ; |15| 
           MPYLH   .M2     B6,B7,B8          ; |15| 
           LDW     .D2T2   *+SP(4),B16       ; |15| 

           ADD     .D2     B17,B8,B7         ; |15| 
||         MPYU    .M2     B7,B6,B6          ; |15| 
||         MV      .S2     B6,B4             ; |15| 

           SHL     .S2     B7,16,B7          ; |15| 
           ADD     .D2     B6,B7,B6          ; |15| 

           ADD     .D2     B9,B6,B17         ; |15| 
||         MPYLH   .M2     B4,B5,B7          ; |15| 

           MPYLH   .M2     B5,B4,B6          ; |15| 
||         LDBU    .D2T2   *+B16[B17],B16    ; |15| 

           LDW     .D2T2   *+SP(8),B9        ; |15| 
||         MV      .S2     B9,B8             ; |15| 

           ADD     .D2     B6,B7,B5          ; |15| 
||         MPYU    .M2     B5,B4,B4          ; |15| 

           SHL     .S2     B5,16,B5          ; |15| 
           ADD     .D2     B4,B5,B4          ; |15| 
           ADD     .D2     B8,B4,B4          ; |15| 
           STB     .D2T2   B16,*+B9[B4]      ; |15| 
           NOP             2
	.line	15
           LDW     .D2T2   *+SP(40),B4       ; |16| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |16| 
           STW     .D2T2   B4,*+SP(40)       ; |16| 
           LDW     .D2T2   *+SP(40),B5       ; |16| 
           LDW     .D2T2   *+SP(12),B4       ; |16| 
           NOP             4
           CMPLT   .L2     B5,B4,B0          ; |16| 
   [ B0]   BNOP    .S1     L2,5              ; |16| 
           ; BRANCH OCCURS                   ; |16| 
;** --------------------------------------------------------------------------*
L3:    
	.line	16
           LDW     .D2T2   *+SP(36),B4       ; |17| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |17| 
           STW     .D2T2   B4,*+SP(36)       ; |17| 
           LDW     .D2T2   *+SP(36),B5       ; |17| 
           LDW     .D2T2   *+SP(16),B4       ; |17| 
           NOP             4
           CMPLT   .L2     B5,B4,B0          ; |17| 
   [ B0]   BNOP    .S1     L1,5              ; |17| 
           ; BRANCH OCCURS                   ; |17| 
;** --------------------------------------------------------------------------*
L4:    
	.line	20
           MVK     .D2     2,B4              ; |21| 
           STW     .D2T2   B4,*+SP(36)       ; |21| 
           LDW     .D2T2   *+SP(36),B5       ; |21| 
           LDW     .D2T2   *+SP(16),B4       ; |21| 
           NOP             4
           CMPLT   .L2     B5,B4,B0          ; |21| 
   [!B0]   BNOP    .S1     L8,5              ; |21| 
           ; BRANCH OCCURS                   ; |21| 
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L5
;** --------------------------------------------------------------------------*
L5:    
	.line	21
           MVK     .D2     2,B4              ; |22| 
           STW     .D2T2   B4,*+SP(40)       ; |22| 
           LDW     .D2T2   *+SP(12),B4       ; |22| 
           LDW     .D2T2   *+SP(40),B5       ; |22| 
           NOP             3
           SUB     .D2     B4,2,B4           ; |22| 
           CMPLT   .L2     B5,B4,B0          ; |22| 
   [!B0]   BNOP    .S1     L7,5              ; |22| 
           ; BRANCH OCCURS                   ; |22| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L6:    
	.line	22
           LDW     .D2T2   *+SP(36),B4       ; |23| 
           LDW     .D2T2   *+SP(12),B5       ; |23| 
           NOP             1
           LDW     .D2T2   *+SP(40),B6       ; |23| 
           LDW     .D2T1   *+SP(8),A4        ; |23| 
           SUB     .D2     B4,1,B4           ; |23| 
           MPYLH   .M2     B5,B4,B8          ; |23| 
           MPYLH   .M2     B4,B5,B7          ; |23| 
           MPYU    .M2     B5,B4,B4          ; |23| 
           ADD     .S2     B8,B7,B5          ; |23| 
           SHL     .S2     B5,16,B5          ; |23| 
           ADD     .D2     B4,B5,B4          ; |23| 
           SUB     .D1X    B6,1,A3           ; |23| 
           ADD     .D1X    A3,B4,A3          ; |23| 

           LDBU    .D1T1   *+A4[A3],A3       ; |23| 
||         LDW     .D2T2   *+SP(28),B4       ; |23| 

           NOP             4
           ADD     .D2X    B4,A3,B4          ; |23| 
           STW     .D2T2   B4,*+SP(44)       ; |23| 
           NOP             2
	.line	23
           LDW     .D2T2   *+SP(36),B4       ; |24| 
           LDW     .D2T2   *+SP(12),B5       ; |24| 
           NOP             1
           LDW     .D2T2   *+SP(40),B6       ; |24| 
           MV      .S2X    A4,B7             ; |24| 
           SUB     .D2     B4,1,B4           ; |24| 
           MPYLH   .M2     B5,B4,B9          ; |24| 
           MPYLH   .M2     B4,B5,B8          ; |24| 
           MPYU    .M2     B5,B4,B4          ; |24| 
           ADD     .D2     B9,B8,B5          ; |24| 
           SHL     .S2     B5,16,B5          ; |24| 
           ADD     .D2     B4,B5,B4          ; |24| 
           ADD     .D2     B6,B4,B4          ; |24| 
           LDBU    .D2T2   *+B7[B4],B4       ; |24| 
           LDW     .D2T2   *+SP(24),B5       ; |24| 
           LDW     .D2T2   *+SP(44),B6       ; |24| 
           NOP             3
           ADD     .D2     B5,B4,B4          ; |24| 
           MIN2    .L2     B6,B4,B4          ; |24| 
           STW     .D2T2   B4,*+SP(44)       ; |24| 
           NOP             2
	.line	24
           LDW     .D2T2   *+SP(36),B4       ; |25| 
           LDW     .D2T2   *+SP(12),B5       ; |25| 
           NOP             1
           LDW     .D2T2   *+SP(40),B7       ; |25| 
           MV      .D2X    A4,B6             ; |25| 
           SUB     .D2     B4,1,B4           ; |25| 
           MPYLH   .M2     B5,B4,B9          ; |25| 
           MPYLH   .M2     B4,B5,B8          ; |25| 
           MPYU    .M2     B5,B4,B4          ; |25| 
           ADD     .D2     B9,B8,B5          ; |25| 
           SHL     .S2     B5,16,B5          ; |25| 

           ADD     .D2     1,B7,B4           ; |25| 
||         ADD     .S2     B4,B5,B5          ; |25| 

           ADD     .S2     B4,B5,B4          ; |25| 
           LDBU    .D2T2   *+B6[B4],B4       ; |25| 
           LDW     .D2T2   *+SP(28),B5       ; |25| 
           LDW     .D2T2   *+SP(44),B6       ; |25| 
           NOP             3
           ADD     .D2     B5,B4,B4          ; |25| 
           MIN2    .L2     B6,B4,B4          ; |25| 
           STW     .D2T2   B4,*+SP(44)       ; |25| 
           NOP             2
	.line	25
           LDW     .D2T2   *+SP(12),B5       ; |26| 
           LDW     .D2T2   *+SP(36),B4       ; |26| 
           NOP             3
           LDW     .D2T2   *+SP(40),B6       ; |26| 
           MPYLH   .M2     B5,B4,B8          ; |26| 
           MPYLH   .M2     B4,B5,B7          ; |26| 
           MPYU    .M2     B5,B4,B4          ; |26| 
           ADD     .D2     B8,B7,B5          ; |26| 
           SHL     .S2     B5,16,B5          ; |26| 
           ADD     .D2     B4,B5,B4          ; |26| 
           SUB     .D1X    B6,1,A3           ; |26| 
           ADD     .D1X    A3,B4,A3          ; |26| 

           LDBU    .D1T1   *+A4[A3],A3       ; |26| 
||         LDW     .D2T2   *+SP(24),B4       ; |26| 

           NOP             1
           LDW     .D2T2   *+SP(44),B5       ; |26| 

⌨️ 快捷键说明

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