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