📄 distancetransform_c.asm
字号:
;******************************************************************************
;* 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 + -